async await底层原理
时间: 2023-08-17 19:14:55 浏览: 107
Python从使用线程到使用async/await的深入讲解
async/await 是 JavaScript 中用于处理异步操作的语法糖,它基于 Promise 对象,并且简化了使用 Promise 的复杂性。
在底层,async 函数会返回一个 Promise 对象。当 async 函数被调用时,它会立即执行并返回一个未决的 Promise。在函数体内部,可以使用 await 关键字来等待一个 Promise 对象的解决(即等待异步操作的结果)。
当遇到 await 表达式时,async 函数会暂停执行,并等待 Promise 对象的解决。在等待期间,它会让出线程,允许其他代码继续执行。一旦 Promise 被解决(即异步操作完成),async 函数会恢复执行,并返回 Promise 的解决值。
值得注意的是,await 关键字只能在 async 函数内部使用。它可以与任何返回 Promise 对象的异步操作一起使用,例如异步函数调用、Promise 链式调用等。
总结起来,async/await 的底层原理是基于 Promise 的异步操作机制,通过暂停和恢复执行来实现更简洁、可读性更强的异步代码编写方式。
阅读全文