首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何等待直到调用nock

如何等待直到调用nock
EN

Stack Overflow用户
提问于 2021-05-11 18:47:39
回答 2查看 203关注 0票数 0

我不确定当拦截器被调用时,nock是支持等待还是使用回调/事件发射器进行通知。

例如:

代码语言:javascript
复制
const scope = nock(config.research.url)
                   .post(config.research.routes.getOdds, expectBody)
                   .reply(200)

while(true){
  expect(scope.isDone()).toBeTruthy()
  await sleep(500)
}

我的问题

如何使用nock接口改进上述代码?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-05-11 18:55:19

nock在请求和响应时发出事件:https://github.com/nock/nock/#events

代码语言:javascript
复制
emit('request', function(req, interceptor, body))
emit('replied', function(req, interceptor))

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

票数 1
EN

Stack Overflow用户

发布于 2021-05-11 18:55:54

nock允许向reply函数传递回调,这可以是处理此问题的方法之一。将您的reply代码包装到Promise中并等待它。

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

代码语言:javascript
复制
 scope.on('replied', function(req, interceptor) { ... })
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67485236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档