1、简单例子
var sleep = function (time) {
return new Promise(function (resolve, reject) {
setTimeout(function () {
resolve();
}, time);
})
};
var start = async function () {
// 在这里使用起来就像同步代码那样直观
console.log('start');
await sleep(3000);
console.log('end');
};
start();
控制台先输出start
,稍等3秒
后,输出了end
。
2、基本规则
- async 表示
这是一个async函数
,await只能用在这个函数里面
。 - await 表示在这里
等待promise返回结果
了,再继续执行。 - await 后面跟着的
应该是一个promise对象
(当然,其他返回值也没关系,只是会立即执行,不过那样就没有意义了…)
3、
await一定出现在async标记的代码中,表示后面挂起一段线程代码,而await异步代码后在代码均表示回调代码。