美文网首页
Node.js 等待回调

Node.js 等待回调

作者: FrankFan | 来源:发表于2017-11-26 23:44 被阅读587次

    主要是 Promise 和 await 的用法。
    A 调用一个函数 func1,希望函数 func1 的返回值可以同步的返回,但是在 func1 返回的值 需要用到 异步函数 func2 的回调后的数据。
    普通的情况下,func1 执行完后,异步的 func2 还没有执行完成,过一会才能执行到 func2 的回调,而这时func1 已经结束了。A 得到了错误的返回结果。
    而用 Promise 包装了 func2 ,并且 await func1 方法。就可以一直等待 func2 执行完成后再赋值。

    var token = await User.login(ctx.request.body.code);
    console.log("token "+token);
    
    module.exports = {
        login: (code) => {
    
    }
    User.login(
    return new Promise(function (resolve, reject) {
                https.get(wxjscode2sessionUrl, (resp) => {
                  var data="";
                    resp.on('data', (chunk) => {
                        data += chunk;
                    });
                    resp.on('end', () => {
                            resolve(data);
                        });
                    })
                }).on("error", (err) => {
                    console.log("Error: " + err.message);
                });
    
            });
    

    相关文章

      网友评论

          本文标题:Node.js 等待回调

          本文链接:https://www.haomeiwen.com/subject/yjalbxtx.html