【发布时间】:2023-03-09 20:19:01
【问题描述】:
我想使用 axios 获取返回 objectId 数组列表的 API。获得列表 objectId 后,我想使用 promise 获取对象的详细信息
我想到了这样的事情
var objectDetail = [];
axios.get('apiendpoint/')
.then((response) => {
var listOfObjectId = response.data;
var chain = Promise.resolve()
for (var objectId of listOfObjectId) {
chain = chain.then(axios.get(`apiendpoint/${objectId}`)
.then((response) => {
objectDetail.push(response.data);
})
);
}
return chain;
}).then((chain) => {
console.log(chain);
return chain;
})
上面的代码返回未定义,承诺链对象没有传递给then方法调用。我的方法是错误的还是我错过了什么?谢谢
这是我读过的一些堆栈,可能是相关的:
【问题讨论】:
-
为什么你不在这里使用
promise.all()文档:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… -
@Mederic 我有点困惑,如何从 'apiendpoint/' 的 objectId 动态创建承诺?你能解释一下如何用
promise.all()解决这个问题吗?
标签: javascript promise axios