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异步代码后在代码均表示回调代码。
来源:https://www.cnblogs.com/mengfangui/p/8858420.html