Curl Post /获取node.js中的函数

时间:2017-10-17 04:00:45

标签: node.js rest

我在node.js中很新,并尝试创建一个向RESTful API发出请求的函数。

我面临着从我的函数中返回值的问题。

这是请求代码

=> function curl_post(method);

^ 请在下方返回请求选项。

requested(curl_post('some_method'), function (error, response, result) {
  if (!error && response.statusCode == 200) {
      console.log(result.status);
  }
})

以上代码运行良好,但我想要的是,将“requested(){}”添加到能够抛出返回值的函数中:

function blabla(){
  requested(curl_post('some_method'), function (error, response, result) {
    if (!error && response.statusCode == 200) {
        return result.status;
    }
  })
}

我上面尝试过功能,但返回“Undefined”。

所以,任何人都知道如何返回“result.status”,所以我只需要调用函数blablabla()当我想得到这个值?

1 个答案:

答案 0 :(得分:0)

简短的回答是,您无法return来自回叫的值。你必须调用另一个向前移动结果的函数。你应该查看一些Node教程,或google“callback hell”。但是,非常简短的例子,这样做:

requested(curl_post('some_method'), function (error,    response, result) {
    if (!error && response.statusCode == 200) {
        doTheRestOfYourCodeHere(response.status)
    }
  })
//  any "in flow" code here has no easy access to response
//  in fact, code here will probably run before curl completes

function doTheRestOfYourCodeHere(status) {
   ...
}