Node.js web3.js中的连接超时
在实例化Web3实例时,我可以传递提供程序选项,包括超时,例如:Node.js web3.js中的连接超时,node.js,ethereum,web3,web3js,Node.js,Ethereum,Web3,Web3js,在实例化Web3实例时,我可以传递提供程序选项,包括超时,例如: const w3 = new Web3(new Web3.providers.HttpProvider('...', {timeout: 10e3})); 但是当我尝试连接到一个不健康的节点并检查它是否正在侦听时,它似乎不会影响isListening调用: await w3.eth.net.isListening(); 等待的时间超过了我指定的超时时间 为什么会这样?我如何在那里强制超时?您可以使用第二个与超时相关的承诺 wa
const w3 = new Web3(new Web3.providers.HttpProvider('...', {timeout: 10e3}));
但是当我尝试连接到一个不健康的节点并检查它是否正在侦听时,它似乎不会影响isListening
调用:
await w3.eth.net.isListening();
等待的时间超过了我指定的超时时间
为什么会这样?我如何在那里强制超时?您可以使用第二个与超时相关的承诺
wait Promise.race([
web3.eth.net.isListening(),
新承诺(功能(解决、拒绝){
setTimeout(函数(){
拒绝(“超时”);
},10e3);
})
]);
您可以使用第二个与超时相关的承诺
wait Promise.race([
web3.eth.net.isListening(),
新承诺(功能(解决、拒绝){
setTimeout(函数(){
拒绝(“超时”);
},10e3);
})
]);