不能返回链接的诺言结果
const request = require('request-promise')
需要此模块,并以这种方式使用它,数据和subData是我稍后定义的选项...
const foo= (data, subData) => {
return request(data)
.then(result => {
console.log('result:',result)
return request(subData)
})
}
问题是请求(数据)结果未返回,但请求(子数据)结果已返回
Q.allSettled([
foo(),
fo(),
f(),
.
.
.
])
回答如下:并使用q模块创建一个Promise数组,但是我仍然无法获得预期的返回结果
您可以使用以下任何一种方法来链接诺言并将两个响应都返回到数组中
const foo = (data, subData) => {
let result;
return request(data)
.then(res => {
result = res;
return request(subData)
}).then(res => {
return [result, res]
});
}
//OR
const foo2 = (data, subData) => {
return request(data)
.then(res1 => {
return request(subData).then(res2 => {
return [res1, res2]
})
});
}
//OR
const foo3 = async (data, subData) => {
let res1 = await request(data);
let res2 = await request(subData);
return [res1, re2];
}