如何从另一个函数调用函数 - Node JS

时间:2016-05-30 10:05:05

标签: node.js express

我还是Node Js的新手。请帮帮我。

我正在调用一个Web服务,根据其结果,我需要调用另一个Web服务。代码如下,但是,我不知道如何调用第二个Web服务(例如:foo())。

第二种方法(调用第二个Web服务)接受2个参数:

  1. 主题
  2. 我需要调用Web服务'https://somenew.com/v1/',并且还需要将以下内容作为标头传递:

    `Content-Type : application/json`
    

    然后身体我需要传递以下属性:

      "name": "My name is alex",
      "gender": ["All"],
      "Subject":  "french",
      "Body":  "men",
      "arrayOfLikes": {"sf": "tennis"}
    

    //第一种方法

    app.post('/createthehospital/',function(req,res){
        var hos = req.body;
        Hos.create(hos, function(err,hos){
            if(err){
                             // Do nothing
            } else {
    
                    foo('Subject', 'Body'); // CALLING NEW METHOD
                }
            }
        })
    });
    

    //第二种方法

    function foo(subject,body) {
        app.post('https://somenew.com/v1/',function(req,res){
    
    
        });
    }
    

1 个答案:

答案 0 :(得分:1)

您需要使用request模块



var request = require('request');
request.post({
  url: 'https://somenew.com/v1/',
  headers: {
    'content-type': 'application/json',
  },
  json: {
    "name": "My name is alex",
    "gender": ["All"],
    "Subject": "french",
    "Body": "men",
    "arrayOfLikes": {
      "sf": "tennis"
    }

  }
}, function(error, response, body) {
  if (!error && response.statusCode == 200) {
    console.log(body) // your response body 
  }
})




您所犯的错误使用快速实例 app 来调用外部网址,这是不可能使用上述模块执行此操作。