Node.js - module:nock - .reply with a callback不起作用

时间:2014-09-05 10:55:50

标签: javascript node.js nock

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

我注意到http请求被正确拦截,但我看到的问题是在我的函数从临时数据库中获取所需数据之前,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响应。

1 个答案:

答案 0 :(得分:-1)

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