for (var i = 0; i < qiang.length; i++) {
doommList.push(new Doomm(qiang[i].text, Math.ceil(Math.random() * 100), Math.ceil(Math.random() * 10), qiang[i].color, qiang[i]._id));
page.setData({
doommData: doommList
})
console.log("xunhuan ",wx.getStorageSync('pd'));
if (wx.getStorageSync('pd')>0){
break;
}
}
这个是子页面的一个死循环代码,我想着返回上一页的时候吧这个缓存pd变成1,这个死循环不就停止了么,但是。。。在上个页面打印的是1,在这个还在循环的函数打印出来却还是0,这是为什么,为啥取到的还是以前的缓存啊
微信小程序开发问题解答
微信小程序开发者回答:
主线程一直在执行死循环,返回父页面的时候,父页面的onShow方法应该是没被执行的。
测试代码片段:https://developers.weixin.qq.com/s/a7pwWcmf7I6g
微信小程序开发者回答:
可以换个思路测试下,不要读缓存,虽然你用的同步,用app.globalData试试,还有setData最好不要放到循环里面。
微信小程序开发者回答:
循环页面
onUnload/onHide
: function(){
wx.setStorageSync('pd', 1);
console.log("xiugai",wx.getStorageSync('pd'));
}
微信小程序开发者回答:
哈哈哈哈 他一直在循环里 根本不会执行你把pd设为1的操作哦。。js的单线程特色~
微信小程序开发者回答:
有没有大佬解释下啊,求解释
本文网址:http://www.91bianli.com/weixinxiaochengxu/952.html