时间:2019-04-29 来源:小程序工厂
单纯看你的第三断代码是不可能无限循环的,除非你还有函数不停地执行第三断代码,js是单线程的,wx.setStorageSync和wx.getStorageSync是同步的,这两个过不了,后面的所有代码就执行不了了,很可能这里出问题了,应该要按官方例子那样写:
try {
wx.setStorageSync('pd', 1);
} catch (e) {}
let pd = null;
try {
pd = wx.getStorageSync('pd');
} catch (e) {}
console.log(pd);
onUnload () {
this.timer && clearTimeout(this.timer);
},
setDoomm () {
let doommList = this.data.doommList;
let qiang = this.data.qiang;
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));
}
// 此处有问题,不应该写在上面循环体里面,性能优化
this.setData({ doommData: doommList });
},
// 假设此处为你不停执行的函数,类似不停执行请求的函数
getQiang () {
this.timer = setInterval(() => {
this.setData(qiang: qiang, () => {
this.setDoomm();
});
}, 1);
}
弹幕哎