Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 异步函数返回挂起/完整文件_Javascript_Reactjs_Async Await - Fatal编程技术网

Javascript 异步函数返回挂起/完整文件

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 =

我试图对每个服务器发出XMLRPC请求,然后将所有数据合并到total变量中。问题是我得到了“pending”作为返回,setTimeout是“fullfield”,我的意思是我知道第一个仍然在处理,另一个是它成功了,但是如何获得实际的数组呢?我做错了什么,它没有返回值

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…,谢谢大家