参考
http://www.ruanyifeng.com/blog/2015/05/async.html
https://segmentfault.com/a/1190000007535316
await 只能出现在 async 函数中
async 函数(包含函数语句、函数表达式、Lambda表达式)会返回一个 Promise 对象,如果在函数中 return
一个直接量,async 会把这个直接量通过 Promise.resolve()
封装成 Promise 对象。
async function getAsync() { return "hello work"; } function getAsync() { return new Promise((resolve) => {resolve('hello work') }) } async function test() { const result = await getAsync();
// await 会阻塞后面的代码, 要得到 promise resolve 的值 函数后才会继续往下执行
// 这就是 await 必须用在 async 函数中的原因。async 函数调用不会造成阻塞,它内部所有的阻塞都被封装在一个 Promise 对象中异步执行。
console.log("运行") } // 使用 getAsync().then(v => { console.log(v); // 输出 hello work });
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。