Javascript 异步函数返回挂起/完整文件
我试图对每个服务器发出XMLRPC请求,然后将所有数据合并到total变量中。问题是我得到了“pending”作为返回,setTimeout是“fullfield”,我的意思是我知道第一个仍然在处理,另一个是它成功了,但是如何获得实际的数组呢?我做错了什么,它没有返回值Javascript 异步函数返回挂起/完整文件,javascript,reactjs,async-await,Javascript,Reactjs,Async Await,我试图对每个服务器发出XMLRPC请求,然后将所有数据合并到total变量中。问题是我得到了“pending”作为返回,setTimeout是“fullfield”,我的意思是我知道第一个仍然在处理,另一个是它成功了,但是如何获得实际的数组呢?我做错了什么,它没有返回值 const servers = ["server1", "server2]; try { const total = servers.map(async server =
const servers = ["server1", "server2];
try {
const total = servers.map(async server => {
const res = await sendXMLRPCRequest(null, server, Commands.get_all_devices_id)
res.map(unit => {
return {
"id": unit,
"server": server,
"modules": []
}
})
})
setTimeout(() => console.log(total), 5000)
console.log(total)
}
catch (err) {
console.log(err)
}
试试这个
const total = Promise.all ( servers.map (async server => {
const res = await sendXMLRP.....;
return res.map (unit => { // whatever you return
})
}))
查看你会想用
Promise.all()
…重复的,嗯,是的,我没想到要用Promise.all…,谢谢大家