【发布时间】:2019-12-18 15:32:44
【问题描述】:
第三方 API 一次只能处理一个查询字符串。所以我想把多个字符串分成数组。然后我会映射数组,进行 async/await axios 调用并将每个响应对象推送到一个空数组中。
使用下面的代码,最后似乎没有存储数据。我最好的猜测是我不了解如何正确使用 async/await 功能。谁能帮帮我?
app.get("/api/posts", (req, res) => {
const tags = req.query.tags;
const fetchData = [];
const axiosCall = async tag => {
const response = await axios.get(
`https://hatchways.io/api/assessment/blog/posts?tag=${tag}`
);
fetchData.push(response.data);
//returns correct response object in an array
console.log(fetchData);
};
tags.split(",").length > 1
? tags.split(",").map(tag => {
axiosCall(tag);
})
: axiosCall(tags);
//Returns empty array
res.send(fetchData);
});
【问题讨论】:
标签: javascript node.js express