首页 > node.js如何获取异步函数回调的返回值。

node.js如何获取异步函数回调的返回值。

function getTBS(){
    ng.get("http://tieba.baidu.com/dc/common/tbs",function(data,status,headers){
        console.log(data);//怎样把data作为getTBS的返回值?
    },headers,'utf8')
}
getTBS();//{"tbs":"a2bdd05a3fd08e561463670847","is_login":1}

百度了好久,说是用回调函数,但还是不太懂,能举个例子吗,求教求教。。


function getTBS(callback){
    ng.get("http://tieba.baidu.com/dc/common/tbs",function(data,status,headers){
        callback(null,data)
    },headers,'utf8')
}
getTBS(function(err,result){
    if(err) throw err;
    console.log(result) //{"tbs":"a2bdd05a3fd08e561463670847","is_login":1}
});

回调函数
应该叫 异步 回调 函数
一般来说 发起异步请求 由于处理时间不确定
所以 传入一个函数 当异步请求完成时候会调用这个函数
你的程序才知道异步请求完成


你的getTBS函数返回之后data还没收到呢,不可能用return返回。
可一了解一下promise对象和async/await关键字,应该对你有帮助


你还是得去理解下什么是异步操作

最直接的感受就是你不知道异步操作什么时候完成,也没有办法直接获取到异步操作的结果

所以异步操作要借助回调函数或者promise去实现异常的捕获和结果的获取

【热门文章】
【热门文章】