异步与回调/函数的作用域链
JavaScript 只在一个线程上运行,JavaScript 同时只能执行一个任务,其他任务都必须在后面排队等待。...JavaScript 语言本身并不慢,慢的是读写外部数据,比如等待 Ajax 请求返回结果。这个时候,如果对方服务器迟迟没有响应,或者网络不通畅,就会导致脚本的长时间停滞。...如果是同步任务,主线程就等着 Ajax 操作返回结果,再往下执行;如果是异步任务,主线程在发出 Ajax 请求以后,就直接往下执行,等到 Ajax 操作有了结果,主线程再执行对应的回调函数。...这个success,error就是callBack(回调函数),这个Promise(承诺)就是异步任务
promise就是知道没法得到结果,那我就要你一个承诺,要承诺好拿到结果后要做什么事....所以$.ajax()返回的结果是一个承诺,不是结果,因为结果还没有到来
使用回调函数
使用回调要用这样的形式
fn(参数1,参数2,()=>{
回调函数(xxx,xxx,()=>{})
})
不要用