在之前的《小程序節(jié)點(diǎn)查詢方法:wx.createSelectorQuery()的使用場(chǎng)景與注意事項(xiàng)》中,討論了節(jié)點(diǎn)查詢方法。
最近在wx.createSelectorQuery()實(shí)際使用中又發(fā)現(xiàn)了一些問(wèn)題:新建query對(duì)象后,調(diào)用exec,然后返回時(shí)發(fā)現(xiàn),回調(diào)竟然為異步調(diào)用。
舉個(gè)栗子:
代碼:
// 頁(yè)面寬度
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");
打印如下:

打印結(jié)果
結(jié)論:
很顯然,控制臺(tái)輸出順序中,竟然先輸出來(lái)了“after query”,那么該查詢方法是異步回調(diào)無(wú)疑了
? ?
? ?
? ?
友情鏈接:
技術(shù)博客 ???????簡(jiǎn)書主頁(yè)