通过JavaScript回调函数:实现任务流程控制
2018-11-27 本文已影响0人
jasonhsu9
回调函数和异步并没有什么关系,不过回调函数里面使用异步API,即可触发js异步机制,从而达到控制程序执行顺序的目的。
//用带有异步API 如setTimeout()的callback来实现任务顺序的控制
function mainTask(callback) {
callback();
console.log('mainTask')
}
function asyncTask() {
//关键是setTimeout()被js引擎理解为耗时任务,
//所以把它推向事件队列
//js根据原生API类型来判断需要同步执行还是异步执行
//如果需要异步执行,则触发事件轮询机制
setTimeout(function () {
console.log('asyncTask')
}, 0);
}
mainTask(asyncTask);
//结果是:
//mainTask
//asyncTask