如果是同步任务,主线程就等着 Ajax 操作返回结果,再往下执行;如果是异步任务,主线程在发出 Ajax 请求以后,就直接往下执行,等到 Ajax 操作有了结果,主线程再执行对应的回调函数。...一旦异步任务重新进入主线程,就会执行对应的回调函数。如果一个异步任务没有回调函数,就不会进入任务队列,也就是说,不会重新进入主线程,因为没有用回调函数指定下一步的操作。...异步操作
异步操作的模式--回调函数
有这样一个问题:
我想先定个闹钟,三秒钟后闹钟就会响.这时候我再起床....所以$.ajax()返回的结果是一个承诺,不是结果,因为结果还没有到来
使用回调函数
使用回调要用这样的形式
fn(参数1,参数2,()=>{
回调函数(xxx,xxx,()=>{})
})
不要用...fn(参数1,参数2,回调函数(xxx,xxx))
因为这个参数里传入的回调函数(xxx,xxx)并不是函数本身,而是运行完毕之后的返回值.