最近做nodejs项目, 遇到了代码异步执行,造成数据为null的问题。网上很多解决异步的方案,是针对方法,而我想实现的是针对代码同步,现在列出下面两种代码同步的方案:
一、async,await(适用于node版本7.0以上)
例:
async function test(){
/do someting/
await new Promise(function(resolve,reject){
/do sometiong/
resolve(valule) // 说明:valule是Promise的一个返回值,await只有接收到这个返回值,才会继续执行下去
});
/do someting/
}
二、* ,yield(适用于大部分版本)
function * test(){
/do someting/
yield 代码 //说明:yield后跟同步代码,直到同步代码执行完后,才会继续执行下去
/do someting/
}