首页 > web前端 > js教程 > 在 Promise 构造函数中使用 async/await 是反模式吗?

在 Promise 构造函数中使用 async/await 是反模式吗?

Mary-Kate Olsen
发布: 2024-12-16 17:41:11
原创
374 人浏览过

Is Using async/await Inside a Promise Constructor an Anti-Pattern?

在 Promise() 构造函数中使用 async/await:反模式?

在这种情况下,您正在使用 async .eachLimit 函数用于管理并发操作。但是,在 Promise 构造函数中使用 async/await 会引起问题。

Promise 构造函数反模式

在 Promise 构造函数的执行函数中使用 Promise,就像您一样正在做的事情,被认为是一种反模式。正如代码中所示,主要风险是可能会出现未经检查的错误。

此外,async/await 引入了额外的复杂性,可能会掩盖这些问题。例如,在您的代码中:

let p = new Promise(resolve => {
  ""(); // TypeError
  resolve();
});

(async () => {
  await p;
})().catch(e => console.log("Caught: " + e)); // Catches it.
登录后复制

这里,TypeError 在 Promise 构造函数中不会被注意到,但在使用 async/await 时会被捕获。这种意外可能会带来问题。

因此,虽然您的代码允许您访问嵌套回调中的值,但必须小心处理错误并避免这些反模式,以确保代码健壮且可维护。

以上是在 Promise 构造函数中使用 async/await 是反模式吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板