我在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()当我想得到这个值?
答案 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) {
...
}