使用new Promise 方法先执行getOnlineList(),forEach完成后,resolve值,再.then()执行其他function,解决异步执行的问题
相关代码:
const getOnlineList = function() {
//需要先遍历的代码
return new Promise(function(resolve, reject) {
vm.onlinelist.forEach(item => {
vm.onlinelistLength += item.course_booking.length;
});
resolve(vm.onlinelistLength);
});
};
getOnlineList().then(() => {
//后续执行代码
fn && fn();
});
放上修改前后对比图: