?
在循环中调用返回promise的函数,可以使用async/await或者Promise.all()来处理。下面是两种常见的方法:
方法一:使用async/await
示例代码:
async function processItem(item) {
// 处理每个项目的逻辑
return new Promise((resolve, reject) => {
// 异步操作,例如API调用或数据库查询
// 处理成功时调用resolve,处理失败时调用reject
});
}
async function processArray(array) {
const promises = [];
for (const item of array) {
promises.push(processItem(item));
}
const results = await Promise.all(promises);
// 处理结果
console.log(results);
}
const myArray = [item1, item2, item3]; // 替换为实际的项目数组
processArray(myArray);
方法二:使用Promise.all()
示例代码:
function processItem(item) {
// 处理每个项目的逻辑
return new Promise((resolve, reject) => {
// 异步操作,例如API调用或数据库查询
// 处理成功时调用resolve,处理失败时调用reject
});
}
function processArray(array) {
const promises = array.map(item => processItem(item));
Promise.all(promises)
.then(results => {
// 处理结果
console.log(results);
})
.catch(error => {
// 处理错误
console.error(error);
});
}
const myArray = [item1, item2, item3]; // 替换为实际的项目数组
processArray(myArray);
以上是调用为循环中的每个项目数组返回promise的函数的两种常见方法。根据具体情况选择适合的方法来处理异步操作,并根据需要处理结果或错误。
领取专属 10元无门槛券
手把手带您无忧上云