首页 > 解决方案 > 异步/等待返回未定义的值

问题描述

我已经搜索了一个解决方案,但我无法实现它。

async processMAC(macs){
    let datos = [];
    for(let x in macs){
      await this.ipdataService.getMacsSaData(macs[x]).subscribe(data =>{ 
        datos.push(data)
      }
    )}
    return datos;   
  }


this.processMAC(macs).then(result => {//I want to work with result but it is undefined}

标签: javascripttypescriptasynchronousasync-awaitundefined

解决方案


奇怪,认为示例代码片段中可能存在一些错误,不确定这是否可行:

let macsSaData = await this.ipdataService.getMacsSaData(macs[x]);
macsSaData.subscribe(data => { 
    datos.push(data)
}

还可以在回调中设置断点,查看是否已将正确的数据推入数组。


推荐阅读