我正在使用Node.js创建一个项目。我想并行调用我的请求。为实现这一目标,我安装了异步模块。这是我的代码:
var requests = [{
url:url,
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + req.cookies.apitoken
},
json: finalArr,
}];
async.map(requests, function(obj, callback) {
// Iterator function
request(obj, function(error, response, body) {
if (!error && response.statusCode == 200) {
// Transform data here or pass it on
var body = JSON.parse(body);
callback(null, body);
}
else {
var body = JSON.stringify(body);
console.log(body)
callback(error || response.statusCode);
}
});
})
我每次都在undefined
获得console.log(body)
。当我使用此模块的GET请求用于其他请求时,一切正常。
答案 0 :(得分:0)
看起来你正在使用request
模块,但没有标记它。
如果我是对的,那么你的选项对象是不正确的,从the documentation开始,没有一个data
密钥被尊重。相反,您应该使用body
或formData
或json
,具体取决于您推送的数据类型。从标题中,我会选择json
。
var requests = [{
url:url,
method: 'POST',
headers: { // Content-Type header automatically set if json is true
'Authorization': 'Bearer ' + req.cookies.apitoken
},
json: finalArr,
}];