精通 JavaScript 中的 Async/Await:异步编程实用指南( 二 )


Async/Await vs PromisesAsync/await 建立在 promises 之上,它提供了一种更简洁、更简单的方法来编写使用 promises 的异步代码 。但是,在某些情况下,您可能希望直接使用 promises 而不是 async/await 。
直接使用 promises 的原因之一是,如果您需要使用 async/await 无法使用的 Promise API 功能 。例如,您可能希望使用 Promise.prototype.finally() 方法在承诺被解决或拒绝后执行代码,而不管结果如何 。这对于清理资源或记录承诺的结果很有用 。
下面是一个使用带有承诺的 finally() 方法的例子:
fetch('https://api.example.com/data').then(response => response.json()).then(data =https://www.isolves.com/it/cxkf/yy/js/2023-01-09/> {// do something with the data}).catch(error => {console.error(error);}).finally(() => {console.log('request complete');});在此示例中,finally() 方法在 promise 被解决或被拒绝后被调用,并将一条消息记录到控制台 。
直接使用 promises 的另一个原因是,如果您需要使用不支持 async/await 的旧版浏览器 。在这种情况下,您可以使用 polyfill 为旧版浏览器添加对异步/等待的支持 。
结论Async/await 是一种强大的语言特性,可以更轻松地编写和理解 JavaScript 中的异步代码 。它建立在 promises 之上,提供了一种更简洁、更容易的方式来处理异步行为 。使用 async/await,您可以编写看起来和行为都像同步代码的异步代码,使其更易于阅读和理解 。

【精通 JavaScript 中的 Async/Await:异步编程实用指南】


推荐阅读