Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何等待诺克被召唤_Javascript_Node.js_Nock - Fatal编程技术网

Javascript 如何等待诺克被召唤

Javascript 如何等待诺克被召唤,javascript,node.js,nock,Javascript,Node.js,Nock,我不确定在调用拦截器时,nock是否支持使用回调/事件发射器等待或通知 例如: const scope = nock(config.research.url) .post(config.research.routes.getOdds, expectBody) .reply(200) while(true){ expect(scope.isDone()).toBeTruthy() await sleep(500)

我不确定在调用拦截器时,
nock
是否支持使用回调/事件发射器等待或通知

例如:

const scope = nock(config.research.url)
                   .post(config.research.routes.getOdds, expectBody)
                   .reply(200)

while(true){
  expect(scope.isDone()).toBeTruthy()
  await sleep(500)
}
我的问题
如何使用
nock
API改进上述代码?

nock
根据请求和响应发出事件:


您的代码可以侦听
回复的
事件以获得通知。

nock
根据请求和响应发出事件:


您的代码可以侦听
reply
事件以获得通知。

nock
允许将回调传递给
reply
函数这可能是处理该问题的方法之一。将您的
回复
代码包装成
承诺
并等待

另一种解决方案可以是订阅scope发出的
repled
事件,并将其包装成
Promise
以等待回复

 scope.on('replied', function(req, interceptor) { ... })

nock
允许将回调传递给
reply
函数这可能是处理该问题的方法之一。将您的
回复
代码包装成
承诺
并等待

另一种解决方案可以是订阅scope发出的
repled
事件,并将其包装成
Promise
以等待回复

 scope.on('replied', function(req, interceptor) { ... })

nock
函数的作用是什么?您可以将
nock
调用封装在一个函数中,该函数返回一个与您需要的值解析的承诺。然后您应该能够
wait
it
nock
函数的作用是什么?您可以将
nock
调用封装在一个函数中,该函数返回一个与您需要的值解析的承诺。然后您应该能够等待它