如果promise.all有两个p对象,最后给回调函数传的参数没办法分成两个结果来传吗?

发布于 2022-09-06 22:00:26 字数 175 浏览 17 评论 0

例如

Promis.all([p1,p2]).then((p1result,p2result)=>{});

如果p1返回的是[1,2,3]
p2返回[4,5,6]
最后的结果就是一个参数[1,2,3,4,5,6],我想要分别使用两个p对象的结果怎么办?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

欢烬 2022-09-13 22:00:26

Promise.all() 返回的也是一个普通的 promise , promise 只会有一个值, 但这个值是一个数组;
按你的描述,返回的不应该是你说的[1,2,3,4,5,6],应该是[[1,2,3],[4,5,6]]
验证代码如下代:

var p1 = Promise.resolve([1,2]);
var p2 = Promise.resolve([3,4]);
Promise.all([p1,p2]).then(console.log)

//> [Array(2), Array(2)]
鸢与 2022-09-13 22:00:26

表示不理解,结果不是p1result,p2result这两个?用就好了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文