【发布时间】:2019-10-01 00:37:09
【问题描述】:
我正在编写一个 nodejs 代码,该代码从站点获取数据、解析它、查找特定数据并为之前获取的数据获取其他内容。但是最终的 return 语句返回时没有从第二个 API 调用中获取值。
我尝试实现异步等待,但我不确定我必须将它们准确地放在哪里。
const getMainData = async val => {
let result = [];
//get xml data from the API
const xmlData = await getSiteContent(`value`); //axios call
parseString(xmlData, (err, json) => { //convert xml to json
const { entry } = json.feed; // array of results.
result = entry.map(report => {
const secondInfo = getSomeMoreData(report.something); //axios call
const data = {
id: report.id,
date: report.date,
title: report.title
};
data.info = secondInfo;
return data;
});
});
return { result };
};
我期待函数返回包含 id、日期、标题和信息的数组 result。但我将 info 设为 null,因为它会转到另一个执行另一个 API 调用的函数。
【问题讨论】:
标签: node.js promise async-await