搜尋

首頁  >  問答  >  主體

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取得使用者信息,如何改變?

巴扎黑巴扎黑2796 天前792

全部回覆(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
  • 取消回覆