可以采用队列的方式
在uniapp根目录下新建util目录,新建quene.js
var quene = {在page中可以直接引入调用了
// 任务队列
tasks: [],
// 标志位,表示当前是否有任务正在执行
isRunning: false,
// 添加任务到队列中
addTask: function(task) {
// 将任务添加到队列中
this.tasks.push(task);
// 如果当前没有任务正在执行,则执行队列中的任务
if (!this.isRunning) {
this.runTasks();
}
},
// 执行队列中的任务
runTasks: function() {
// 将标志位设为true,表示当前有任务正在执行
this.isRunning = true;
// 取出队列中的第一个任务并执行
const task = this.tasks.shift();
task(() => {
// 当任务完成时,继续执行下一个任务
if (this.tasks.length > 0) {
this.runTasks();
} else {
// 如果队列中没有任务了,则将标志位设为false
this.isRunning = false;
}
});
}
};
module.exports = quene;
import quene from '../../../util/quene.js';
// 添加任务到队列中
quene.addTask(callback => {
// 执行异步任务
uni.request({
url: "",
data: {},
method: 'POST',
success: (res) => {
callback();
},
fail: () => {
callback();
}
})
});
quene.addTask(callback => {
// 执行异步任务
uni.request({
url: "",
data: {},
method: 'POST',
success: (res) => {
callback();
},
fail: () => {
callback();
}
})
// 执行异步任务
setTimeout(() => {
console.log('Task 2 finished');
callback();
}, 7000);
});
网友回复