我有一个request.post调用和另一个函数。我需要将restcall的响应作为参数传递给函数。
我在这里遇到的当前问题是,即使在我从其余调用得到响应之前函数也被调用,并且null值被传递。我知道我们需要使用一些callabcks来解决这个问题。但我不知道怎么做。有人帮忙。
app.post('/verifycreds',function(req,res) {
var reqdata = req.body;
var data = {};
data.custid = reqdata.custid;
request.post({
url:'https://database.mybluemix.net/verifycredentials',
headers:{
'Content-Type':'application/json'
},
body:data,
json:true
}, function(err,response) {
verifycreds(response.body);
});
function verifycreds(data) {
if((datareq.customerid === data.customerid ) && (datareq.password == data.password)){
res.send("valid");
} else {
res.send("invalid");
}
}
那么只有在我收到请求的响应后才能调用verifycreds函数.post call..Any help!
答案 0 :(得分:3)
您的回调有效,回调参数中存在问题。它应该用三个参数定义:
所以正确的代码是:
request.post({
url: 'https://database.mybluemix.net/verifycredentials',
headers: {
'Content-Type': 'application/json'
},
body: data,
json: true
}, function(err, res, body) {
// TODO: process possible errors
// if (err) { ...
verifycreds(body);
});