我试图创建一个Promises数组,然后使用Promise.all()解决它们.我正在使用got,它返回了一个承诺.
我的代码有效,但我不完全理解.这里是:
const got = require('got'); const url = 'myUrl'; const params = ['param1','param2','param3']; let promiseArray = []; for (param of params) { promiseArray.push(got(url + param)); } // Inspect the promises for (promise of promiseArray) { console.log(JSON.stringify(promise)); // Output: promise: {"_pending":true,"_canceled":false,"_promise":{}} } Promise.all(promiseArray).then((results) => { // Operate on results - works just fine }).catch((e) => { // Error handling logic });
让我失望的是,当我将Promises添加到数组中时Promise被标记为“pending”,这意味着它们已经启动了.
我认为他们应该在promiseArray中处于非活动状态,并且Promise.all(promiseArray)将启动它们并解决它们.
这是否意味着我两次开始他们?