是否可以在Page配置中添加单例模式
提一个需求:
wx.navigateTo 快速点击会多次加载同一页面,
是否可以在Page配置中添加 单例模式的配置。
提一个需求:
wx.navigateTo 快速点击会多次加载同一页面,
是否可以在Page配置中添加 单例模式的配置。
var isTouch=false;
Page({
…
onShow: function () {
isTouch=false;
},
event…:function(e){
if(isTouch) return;
isTouch = true;
…
}
})
//我是这样做的,总觉得代码怪怪的
我会这样写,应该属于代理模式,我不太懂算法。
// fn 不运行完,再次调用 once 也没用function once(fn) { var state = false; return function() { if (state) return; state = true; fn && fn.apply(this, arguments); state = false; }}Page({ click: function(e) { once(() => { console.log(this, e) })() },}) |
其实判断 fn 的结束应该是写在 fn 的回调里的,但那样的话就越改越复杂了,除非可以用 await 写法。