javascript - 如何仅在从restcall Node js获得响应后调用函数

标签 javascript node.js

我有一个 request.post 调用和另一个函数。我需要将restcall 的响应作为参数传递给函数。

我在这里面临的当前问题是,甚至在我收到其余调用的响应并且传递空值之前,该函数就被调用了。我知道我们需要使用一些回调来解决这个问题。但我不知道该怎么做。有人可以帮忙吗。

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");
  }
}

那么,只有在收到请求.post调用的响应后,我如何才能调用verifycreds函数。任何帮助!

最佳答案

你的回调是有效的,问题出在回调参数上。它应该用三个参数定义:

  • 错误
  • 回复
  • 正文

所以正确的代码是:

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);  
});

关于javascript - 如何仅在从restcall Node js获得响应后调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45391866/

相关文章:

javascript - 如何触发 rxjs observable

javascript - Node js 同步每个循环

javascript - Selenium 网络驱动程序 : How to display values in console (Javascript)

javascript - 将函数导出到 app.js 时出现 NodeJS 错误

javascript - 如何在 React 中使用过滤器实现分页

javascript - jQuery 基本 ajax GET + php 返回

javascript - IndexedDB 将范围另存为

javascript - 当 Angular 7 中该 url 的资源文件夹中没有 img 时,如何处理错误 404

javascript - 使用 .find() 的 Mongoose 静态函数返回查询,并且静态函数无法识别

node.js - 在 TLS 中使用自签名证书如何使一个人受到中间人攻击?