在异步函数中捕获错误时,如果想在console.log循环中获取i的值,可以通过以下方法实现:
async function myAsyncFunction() {
for (let i = 0; i < 10; i++) {
(function(index) {
setTimeout(() => {
try {
// 异步操作
} catch (error) {
console.log(index); // 获取i的值
}
}, 1000);
})(i);
}
}
async function myAsyncFunction() {
const promises = [];
for (let i = 0; i < 10; i++) {
promises.push(
new Promise((resolve, reject) => {
setTimeout(() => {
try {
// 异步操作
resolve();
} catch (error) {
reject(error);
}
}, 1000);
})
);
}
try {
await Promise.all(promises);
} catch (error) {
console.log(promises.indexOf(error)); // 获取i的值
}
}
这两种方法都可以在异步函数中捕获错误,并在console.log循环中获取i的值。具体使用哪种方法取决于实际情况和代码结构的复杂程度。
领取专属 10元无门槛券
手把手带您无忧上云