我正在使用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响应。
答案 0 :(得分:-1)
您只需将setTimeOut中的函数放入下一个刻度线,不返回任何内容。 尝试在setTimeOut之前添加return。