从提取API响应中动态返回构建对象

时间:2019-10-22 18:13:04

标签: javascript object promise fetch-api

我正在尝试根据来自GET请求的数据返回一个对象。我可以使用console.log打印整个对象,但不能返回整个对象。

请在下面查看我的代码:

fetch('https://api-nile.tfl.gov.uk/AirQuality')
  .then(function(response) {
    return response.json();
  })
  .then(function(data) {
    buildObjectDynamically(data);
  });

function buildObjectDynamically(data) {
  let airQualityObj = [];
  for (let i of data.currentForecast) {
    let eachEntry = {
      id: i.$id,
      forecastBand: i.forecastBand,
      forecastType: i.forecastType,
    };
    airQualityObj.push(eachEntry);
  }
  console.log(airQualityObj);
  return airQualityObj; // This line is not returning my object.
}

如果我对数据进行硬编码并保留在fetchAPI之外,那么它将按预期工作。请参见下面的示例:

function buildStaticObject() {
  return {
    airQualityObj: [{
        id: '2',
        forecastType: 'Current',
        forecastBand: 'Low',
      },
      {
        id: '3',
        forecastType: 'Future',
        forecastBand: 'Low',
      }
    ]
  }
}

buildStaticObject();

请注意,我实际上可以从API返回响应。我正在努力的是如何从响应中返回新建的对象。

谢谢

0 个答案:

没有答案