javascript - Async/Await vs new Promise(resolve,reject)
问题描述
async/await 和使用.then
,.finally
和.catch
例如
functionThatReturnsPromise(someVar).then((returnedValueFromPromise) => {
console.log(returnedValueFromPromise)
})
对比
async functionThatReturnsPromise(someVar) {
await returnedValueFromPromise
}
我不确定 Promise 链接是否只是旧的表示法,它已被更新的 async/await 取代。两者还有用例吗?什么是更好的做法?
解决方案
这一切都取决于你想要什么。async
/await
是新的。这样想,他们允许一个 promise 像它不是同步的一样运行。
此外,使用async
/await
使您的代码更清晰、更易读。为了回答您的问题,就他们的工作而言,它们之间没有太大区别。语法完全不同。
Promise 链接不是旧时尚,它们是相当新的,只是async
/await
来得晚一点 - 为您提供了一种“更好”的处理 Promise 的方式。
最后,您可以在代码中互换使用它们。
推荐阅读
- java - 我试图运行该应用程序,但它因所需的 bean 而失败
- r - 如何获得 glm 系数的阴影置信区间带?
- android - 导航抽屉滞后,图像
- java - Java 11 编译器无法识别 main 方法中的静态 BiFunction
- mongodb - 如何在 Mongodb 中使用聚合在响应的输出上创建一个数组
- python - 获取 404 的 js 文件
- java - 将文件放在 JAR 的根目录下
- c - 如何将插件 DLL 的依赖项放置在相对于它的特定位置,以便在运行时找到它?
- sql - 使用 SELECT 查询将两张表合二为一,将两张表的记录保存在不同的列中
- c - 如何在现代 OS X 版本上从 C 调用 objc_msgSend