javascript - Promise.all 中的 Javascript array.push 返回 undefined
问题描述
我有一个承诺,我正在向 Promise.all 推送一个值,但它返回未定义。
这是代码:
var arr = [];
var mypromise = new Promise((resolve, reject) => {
resolve('mypromise');
arr.push(mypromise);
});
Promise.all([arr]).then(values => {
console.log(values);
});
我怎样才能解决这个问题?
解决方案
var arr = [];
var mypromise = new Promise((resolve, reject) => {
resolve('mypromise');
});
arr.push(mypromise);
Promise.all(arr).then(values => {
console.log(values);
});
您的 Promises 实现不正确,请参阅此 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
此外,您正在犯语法错误,例如 arr.push 应该在之后
var mypromise = new Promise((resolve, reject) => {
resolve('mypromise');
});
并且 Promise.all 接受一个数组,而您正在做的是用另一个数组包装一个数组。
推荐阅读
- angular - 是否有可以在 Ionic5/Angular9 PWA 应用程序中使用的 SignaturePad?
- java - While 循环中的 Thread.sleep()
- python-3.x - 仅使用一个 for 循环从列表列表创建字典
- java - 将 Unicode 十六进制字符解码为其字符串表示形式
- amazon-s3 - 存储对象时需要元数据存储
- java - 使用 GCP PubSub 的 Spring Cloud Stream 消费者的退避策略
- sql-server - asp.net Core 3.1.5 应用程序无法从 Web 部署发布访问服务器上的数据库
- angular - 如何在启动时在树莓派上启动角度服务器(ng serve)?
- ios - iOS 内存泄漏,内存图调试器显示没有泄漏,但并行 Xcode-Instruments-leaks 显示泄漏
- visual-studio - Visual Studio 探查器不适用于 Azure Function