如何等待直到诺克被调用
How to await until nock is called
我不确定 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
根据请求和响应发出事件:https://github.com/nock/nock/#events
emit('request', function(req, interceptor, body))
emit('replied', function(req, interceptor))
您的代码可以侦听 replied
事件以获取通知。
nock
允许将回调传递给 reply
函数,这可能是处理该问题的方法之一。将您的 reply
代码包装成 Promise
并等待它。
另一种解决方案可能是订阅范围发出的 replied
事件并将其包装到 Promise
中以等待回复
scope.on('replied', function(req, interceptor) { ... })
我不确定 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
根据请求和响应发出事件:https://github.com/nock/nock/#events
emit('request', function(req, interceptor, body))
emit('replied', function(req, interceptor))
您的代码可以侦听 replied
事件以获取通知。
nock
允许将回调传递给 reply
函数,这可能是处理该问题的方法之一。将您的 reply
代码包装成 Promise
并等待它。
另一种解决方案可能是订阅范围发出的 replied
事件并将其包装到 Promise
中以等待回复
scope.on('replied', function(req, interceptor) { ... })