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”,那么该查询方法是异步回调无疑了

本站所有文章除特殊声明外均为原创,未经允许禁止转载!