wx.createSelectorQuery()的方法讨论

在之前的《小程序节点查询方法:wx.createSelectorQuery()的使用场景与注意事项》中,讨论了节点查询方法。

最近在wx.createSelectorQuery()实际使用中又发现了一些问题:新建query对象后,调用exec,然后返回时发现,回调竟然为异步调用

举个栗子:

代码:
//  页面宽度
      var screenWidth;
      var query = wx.createSelectorQuery().select(".container").boundingClientRect();
      // console.log("\n \n \n \n " + JSON.stringify(this));
      query.exec.call({ pag: this });
      query.exec(function (res) {
        var backImageRect = res[0];
        screenWidth = backImageRect.width;
        console.log(screenWidth + "  " + JSON.stringify(res)+"\n \n \n \n "+JSON.stringify(this));

        
      });
      console.log("after query");

打印如下:

打印结果

结论:

很显然,控制台输出顺序中,竟然先输出来了“after query”,那么该查询方法是异步回调无疑了

   
   
   

友情链接:

技术博客

posted @ 2018-01-08 11:27  抠得儿  阅读(10340)  评论(0编辑  收藏  举报