>我正在使用节点v9.4.0运行。 在我的测试套件中,如何使用箭头符号设置超时。 以下
describe('Test Stratum client[callbacks]', () => {
this.timeout(5000);
// Test for onConnect getting called
it('onConnect', (done) => {
导致错误
_this.timeout(5000);
^
TypeError: _this.timeout is not a function
我可以使用什么正确的语法来设置超时而不更改我的"描述"行?
您可以将其余内容包装在一个函数中并使用 setTimeout
describe('Test Stratum client[callbacks]', () => {
setTimeout(() => {
// Test for onConnect getting called
it('onConnect', (done) => {
//The rest of your code, etc etc
});
//blah blah blah
}, 5000);
替代方法
在 Node.js 或 JavaScript 中没有超时。但是,您可以使用解决方法,前提是您在异步上下文中工作:
const timeout = ms => new Promise(res => setTimeout(res, ms));
describe('Test Stratum client[callbacks]', async () => {
await timeout(5000);
//etc etc
请注意第二行中() => {
之前的async