0

我正在使用 nock 模块来拦截对我的 API 服务的 HTTP 调用(仍未开发)并返回一些我在临时数据库中拥有的模拟数据。

我注意到 http 请求被正确拦截,但我看到的问题是,在我的函数从 temp DB 获取所需数据之前,nock 会回复。

对于一个简单的演示,看下面的代码:

var nock = require('nock');

var nockReq = nock("http://localhost:8000")

    .post("/sample-endpoint")

    .reply(200, function (uri, requestBody) {
        setTimeout(function() {
            return {"result": "TIMED OUT"}
        }, 2000
    );

使用上面的代码,当我不使用超时时,我可以按预期正确返回数据。但是由于这个超时,nock 似乎并没有等待回调,而是继续响应一个空的 200 响应。

4

1 回答 1

-1

您只需将 setTimeOut 中的函数放入下一个刻度,没有返回任何内容。尝试在 setTimeOut 之前添加返回。

于 2014-09-05T10:59:34.250 回答