小编use*_*846的帖子

从promise.all()返回数据

我正在尝试使用以下方法返回3个异步api调用的数据 promise.all()

function apiReq1(apiCred){
  const rds = new apiCred.RDS();
  var request = rds.describeDBInstances();
  return request.promise();
}

function getAPIs (apiCred) {
  return Promise.all([apiReq1(apiCred), apiReq2(apiCred), apiReq3(apiCred)]).then(function(data) {
    console.log(data[0])
    console.log(data[1])
    console.log(data[2])
    return data

    // ideal return
    //myMap.set('bar', data[0])
    //.set('foo', data[1])
    //.set('baz', data[2]);
    //return myMap
  });
}

// Function that is calling getAPIs
function getAll() {
  apiCred = getApiCred()
  page = getAPIs(apiCred)
  console.log(page)
}
Run Code Online (Sandbox Code Playgroud)

console.log将按预期方式打印出数据,但是我希望能够返回该data对象,或者理想情况下可以将具有所有三个可迭代对象的新对象返回给任何调用getAPIs()。这是我第一次尝试使用Promise,并且我觉得在尝试返回数据时缺少一个关键的异步概念。

javascript promise

3
推荐指数
1
解决办法
3134
查看次数

标签 统计

javascript ×1

promise ×1