suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript - Wie kann ich andere URL-Anfragen im Knoten zurückgeben?

Ich möchte die Token-Methode kapseln. Warum wird dieser Aufruf nicht korrekt zurückgegeben?

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
        })
    }
}

Ich möchte getUserInfo aufrufen, um Benutzerinformationen zu erhalten. Wie kann ich diese ändern?

巴扎黑巴扎黑2796 Tage vor794

Antworte allen(2)Ich werde antworten

  • 高洛峰

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

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

    Antwort
    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);
        })
    }

    Antwort
    0
  • StornierenAntwort