当我们想要确保某代码再 谁 之后 执行时,我们可以利用函数调用栈,将我们想要执行的代码放入回调函数中;
function sencondFun() { console.log('这次我先运行,firstFun再运行'); } function firstFun(sencond) { console.log('我是firstFun'); // 其他代码执行完毕,最后执行回调函数 sencond && sencondFun() } firstFun(sencondFun());
利用回调函数封装,是我们在初学JavaScript时常常会使用的技能。
确保我们想要的代码压后执行,除了利用函数调用栈的执行顺序之外,我们还可以利用上一篇文章所述的队列机制。
function sencondFun() { console.log('我是要等上面的执行完,我才能执行'); } function firstFun(sencond) { // 将想要执行的代码放入队列中,根据事件循环的机制,我们就不用非得将它放到最后面了,由你自由选择 sencond && setTimeout(sencond,0) console.log('我是firstFun'); } firstFun(sencondFun());