Node.js 无法返回链接的承诺结果
需要这个模块,并以这种方式使用它的数据和子数据是我后来定义的选项 问题是请求(数据)结果不是返回的,但请求(子数据)结果是返回的 使用q模块创建一系列承诺,但我仍然无法获得预期的回报结果Node.js 无法返回链接的承诺结果,node.js,q,request-promise,Node.js,Q,Request Promise,需要这个模块,并以这种方式使用它的数据和子数据是我后来定义的选项 问题是请求(数据)结果不是返回的,但请求(子数据)结果是返回的 使用q模块创建一系列承诺,但我仍然无法获得预期的回报结果 我建议使用以下方法代替承诺链或Q: Q.allSettled([ foo(), fo(), f(), . . . ]) 您可以使用以下任何方法链接承诺,并将两个响应返回到一个数组中 const fetchData = (data, subData) => { co
我建议使用以下方法代替承诺链或Q:
Q.allSettled([
foo(),
fo(),
f(),
.
.
.
])
您可以使用以下任何方法链接承诺,并将两个响应返回到一个数组中
const fetchData = (data, subData) => {
const result = await request(data);
const resultSub = await request(subData);
console.log(result, resultSub);
};
因为您没有从
foo
返回request(data)
的响应,所以只需删除foo
方法并使用Q.allSettled([request(data),request(subData)])
@AZ我需要在请求(data)之后调用request(subData)已完成。然后添加另一个。然后
阻塞并返回两个响应的数组。您能否向我展示我对promise概念的新语法,以及nodejs@AZ_在回答中添加的代码片段。
Q.allSettled([
foo(),
fo(),
f(),
.
.
.
])
const fetchData = (data, subData) => {
const result = await request(data);
const resultSub = await request(subData);
console.log(result, resultSub);
};
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];
}