搜索

首页  >  问答  >  正文

javascript - node 里面如何返回别的网址请求?

我想封装token的方法,这样调用为何不能正确返回?

app.js

app.use('/getUserInfo',function(req,res,next){
    console.log("进入getUserInfo")
    utils.getToken(appid,appsecret)
})

utils.js

utils.getToken=function(appid,appsecret){
    console.log("我是utils里面的")
    let tokenUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appid + "&secret=" + appsecret;
    let jsonResult=''
    return function(){        
        request(tokenUrl,(err,response,body)=>{
            let jsonResult = JSON.parse(body);
            return jsonResult
        })
    }
}

我想调用getUserInfo获取用户信息,如何改?

巴扎黑巴扎黑2778 天前782

全部回复(2)我来回复

  • 高洛峰

    高洛峰2017-05-18 10:50:32

    utils.getToken(appid,appsecret)()调用一下?

    回复
    0
  • 怪我咯

    怪我咯2017-05-18 10:50:32

    node是异步的,直接return可以的话,还要async/await 做什么?

    也可以直接用回调:

    app.use('/getUserInfo',function(req,res,next){
        console.log("进入getUserInfo")
        utils.getToken(appid,appsecret,function(res){
          console.log(res);
        })
    })
    

    ........................

    utils.getToken=function(appid,appsecret,callback){
        console.log("我是utils里面的")
        let tokenUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appid + "&secret=" + appsecret;  
        request(tokenUrl,(err,response,body)=>{
            let jsonResult = JSON.parse(body);
            callback(sonResult);
        })
    }

    回复
    0
  • 取消回复