【发布时间】:2017-07-06 23:55:15
【问题描述】:
我正在尝试在 Node.js 中进行 2 次 /POST 调用。我想使用第一次调用的一些响应字段作为第二次调用的有效负载。我知道的实现如下:
function abc(reqObject, callback){
request(reqObject, function(err,res)){
if(err)
{
callback(err, null);
}
else
{
<use this res for second req>
request(reqObject, function(err,res)){
<err,res handling here>
}
}
}
}
在不使用 Promise 和异步模块的情况下,实现这一目标的最合适的方法是什么(不会弄乱回调)?我正在尝试仅使用请求模块来做到这一点。
【问题讨论】:
-
如果你不想使用 promise 和 async 模块(但为什么不这样做),你正在做的事情除了不是写格式之外完全没问题。您可以尝试 request-promise github.com/request/request-promise 这将默认返回一个承诺,因此您不需要将您的请求包装在一个承诺中。
-
谢谢穆斯塔法。我必须只使用请求模块,这就是为什么我不使用承诺或异步。
-
试试我给出的答案应该可行。
-
谢谢。我提到的方法工作正常(我错过了 request() 的右括号)。我只是想知道是否有任何其他更有效的方法来做到这一点。
标签: node.js request node-modules