var sleep = (time)=>{
return new Promise((resolve,reject)=>{
setTimeout(()=>{
resolve('ok');
reject('err');
},time)
})
};
var start = async function () {
try {
// 在这里使用起来就像同步代码那样直观
console.log('start');
// await必须再 async函数的上下文中
for(var v of [1,2,3,4,5]){
console.log(`当前是弟${v}次等待..`);
await sleep(1000);
}
//获取返回值,如果有错则下一步不执行
let re = await sleep(1000);
console.log(re);
console.log('end');
}catch(err){
console.log(err);
}
};
start();
输出结果:
start
当前是弟1次等待..
当前是弟2次等待..
当前是弟3次等待..
当前是弟4次等待..
当前是弟5次等待..
ok
end