gpt4 book ai didi

javascript - 捕获从 setInterval 内部抛出的异常

转载 作者:行者123 更新时间:2023-11-30 20:39:38 28 4
gpt4 key购买 nike

捕获从 setInterval 内部抛出的错误的最佳方法是什么?目前从下面的代码来看,在抛出异常时,控件没有到达catch

    try {

timer = setInterval(() => {
if (moment().diff(lastProcessTime, 'minute') >= 2) {
// Taking too long!
clearInterval(timer);
throw new Error({ code: -1, message: `Taking too long to response:: ${urls[0]}` });
}
}, 1000);


await c.downloadAndSaveDataFromRssUrls(configs, urls);
clearInterval(timer);
return Promise.resolve();
} catch (err) {
clearInterval(timer);
console.log(err);
return Promise.resolve();
}

最佳答案

您需要将try catch 移到setInterval 中 :

function greet() {
let i = setInterval(() => {
try {
if (Math.random() * 100 > 5) {
clearInterval(i);
throw new Error("Number is greater than 5");
}
} catch (err) {
console.log('Hello')
console.log(err);
}
}, 1000);
}

greet();

关于javascript - 捕获从 setInterval 内部抛出的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49423389/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com