什么是异步? 异步 == 不等结果 举个例子:你去商场吃饭,你前面有10桌人,你如果在原地等大约1小时,不干别的事,这就是同步。如果你用这一小时逛商场,这就是异步。区别就是不用在原地等。 回到js中什么是异步?】 定义
- 如果你执行一个函数,却不等待函数返回结果,那么我们就说你异步执行了这个函数或者说你执行了一个异步函数
不管你喜欢同步还是异步,在JS里要优先用异步 因为长时间同步执行会导致浏览器假死 引申出另一个问题如何拿到异步代码的结果? 两个办法要么轮询,要么回调 轮询:每几秒就查看一次某变量 回调:把函数当做参数,传给函数 什么是回调? 特征:如果函数A的参数是函数B,那么我们称函数B为回调函数,我们称调用B为回调B 本质:回调函数就是一种特殊的函数,回调就是一种特殊的调用 但是回调也不是完美的,他会引入回调地狱。 前端又引入了promise来解决 回调的第二个问题是:风格不统一 比如
button.onclick = fn
button.addEventListener('click', fn)
ajax({method:'get', url:'/x', success: fn})
// 这都是回调函数
回调用大白话来讲就是,给你个函数一会你调用一下。