使用Node 4.x. 当你有一个Promise.all(promises).then()什么是解决数据并将其传递给下一个数据的正确方法.then()?
我想做这样的事情:
Promise.all(promises).then(function(data){
// Do something with the data here
}).then(function(data){
// Do more stuff here
});
Run Code Online (Sandbox Code Playgroud)
但我不知道如何将数据提升到第二位.then().我不能resolve(...)在第一次使用.then().我发现我可以这样做:
return Promise.all(promises).then(function(data){
// Do something with the data here
return data;
}).then(function(data){
// Do more stuff here
});
Run Code Online (Sandbox Code Playgroud)
但这似乎不是正确的方法......对此有什么正确的方法?
我有一个数组,对于这个数组的每个元素,我需要fetch一些数据(取决于元素)并将这些数据添加到数组中的元素中。
举个例子,我将fetch用一个 Promise来模拟(在现实生活中,这将是一个网络服务的答案):
let p = new Promise((resolve, reject) => resolve('x'))
let a = ['a', 'b']
a = a.map(x => p.then(y => x + y))
console.log(a)Run Code Online (Sandbox Code Playgroud)
我期望的是第一个元素 ( a)p被调用,并在解析后将结果添加到a(giving ax)。对于b.
最终我期待一个新的数组['ax', 'bx']。
我得到的是一系列 Promises
作为 Promises 的新手(我发现理论上这很棒)我很难理解这里出了什么问题。是否可以在其中组合.map()异步操作?