作者:爱吃橘子的金XiaRui | 来源:互联网 | 2022-11-30 17:56
我有一个异步函数web3.eth.net.isListening()
,如果有错误,它将导致以下语句永远卡住:
await web3.eth.net.isListening()
问题:如何让上述await
语句在10秒后超时,并执行a console.log
来表明已发生错误?
1> 小智..:
您可以Promise.race()
用来提供与超时相关的第二个Promise。
await Promise.race([
web3.eth.net.isListening(),
new Promise(function(resolve) {
setTimeout(function() {
console.log('Timed out');
resolve();
}, 10000);
}),
]);
.race的好主意,但我会拒绝您的超时。