Javascript Iam使用promise.all()获取具有不同参数的url,但它返回一个未定义的url数组
我得到这个数组之前有一个承诺,它工作得很好,但是当它单独给出数组时,当我安慰承诺时,它工作得很好,但是当它涉及到承诺的最终结果时,它给出的所有结果都是未定义的Javascript Iam使用promise.all()获取具有不同参数的url,但它返回一个未定义的url数组,javascript,reactjs,Javascript,Reactjs,我得到这个数组之前有一个承诺,它工作得很好,但是当它单独给出数组时,当我安慰承诺时,它工作得很好,但是当它涉及到承诺的最终结果时,它给出的所有结果都是未定义的 const prom = (leader) => { try { fetch( "http://example/api/junk?" + new URLSearchParams({ //the elements of array goes here
const prom = (leader) => {
try {
fetch(
"http://example/api/junk?" +
new URLSearchParams({
//the elements of array goes here
id: leader
}),
{
method: "GET",
headers: {
"Content-Type": "application/json",
token: token.id
}
}
)
.then((res) => {
//the response is converted to json
return res.json();
})
.then((value) => {
//iam returning the value here to the promise
return value;
});
} catch (error) {
return error;
}
};
//user.leads is an array of 14 prameters
Promise.all(
user.leads.map((lead) => {
//return a new promise
return new Promise((resolve, reject) => resolve(prom(lead)));
})
)
//the promise all output
.then((value) => console.log(value));
它返回(14)
[undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined],undefined,undefined,undefined,undefined]
为什么不干脆Promise.all(user.leads.map(prom)。然后(…
?fetch
返回一个承诺,因此可能中间承诺会把一切都搞糟。哇…!它确实起作用了,非常感谢我在过去的5个小时里一直在敲它…感谢你的重播。。。