mirror of
https://gitee.com/beijing_hongye_huicheng/lilishop-uniapp.git
synced 2025-12-16 15:35:52 +08:00
- 修改afterSalesDetailExpress.vue中gotoGoodsDetail函数参数 - 调整快递公司、快递单号和发货时间选择器样式 - 在tool.vue中添加邀请用户功能和分享弹窗 - 在request.js中增加请求头带上邀请人信息 - 移除tpl_goods.vue中的调试日志 - App.vue增加启动时设置邀请人逻辑 - storage.js新增邀请人信息的存取方法
41 lines
1.2 KiB
JavaScript
41 lines
1.2 KiB
JavaScript
function Queue() {
|
||
let waitingQueue = this.waitingQueue = [];
|
||
let isRunning = this.isRunning = false; // 记录是否有未完成的任务
|
||
|
||
function execute(task, resolve, reject) {
|
||
task()
|
||
.then((data) => {
|
||
resolve(data);
|
||
})
|
||
.catch((e) => {
|
||
reject(e);
|
||
})
|
||
.finally(() => {
|
||
// 等待任务队列中如果有任务,则触发它;否则设置isRunning = false,表示无任务状态
|
||
if (waitingQueue.length) {
|
||
const next = waitingQueue.shift();
|
||
execute(next.task, next.resolve, next.reject);
|
||
} else {
|
||
isRunning = false;
|
||
}
|
||
});
|
||
}
|
||
this.exec = function(task) {
|
||
return new Promise((resolve, reject) => {
|
||
if (isRunning) {
|
||
waitingQueue.push({
|
||
task,
|
||
resolve,
|
||
reject
|
||
});
|
||
} else {
|
||
isRunning = true;
|
||
execute(task, resolve, reject);
|
||
}
|
||
});
|
||
}
|
||
}
|
||
|
||
/* 队列实例,某些平台一起使用多个组件时需要通过队列逐一绘制,否则部分绘制方法异常,nvue端的iOS gcanvas尤其明显,在不通过队列绘制时会出现图片丢失的情况 */
|
||
export const queueDraw = new Queue();
|
||
export const queueLoadImage = new Queue(); |