论回调函数数据走向

解决异步冲突的方法之回调函数

为了解决异步请求带来的数据无法获取的问题我们偶尔会应用回调函数进行获取数据

这个时候回出现各种问题,但是大部分人都是在为自己的数据无法获取到而感到疑惑

今天为各位讲解下回调函数据走向

使用回调函数来获取数据并不是指数据可以在全局中获取到了而是把获取来的数据以实参的方式传入到回调函数中
论回调函数数据走向

上图就是一个简单运用回调获取请求来的数据,将从url中请求来的数据以函数实参的形式传递出去

这时调用mc_post函数传入一个匿名函数就可以是用匿名函数的形参来接收请求回来的数据

论回调函数数据走向
这个时候匿名函数中的形参就是你获得的数据,我的一个朋友就经常犯一个重大的错误,导致一直无法获取数据.

此时由于是异步的,获取的数据只能在匿名函数中显示,相对于同一作用域中的其他代码块是无法获取的,所以请各位搞明白一点,

通过回调函数获取回来的数据是无法通过赋值的方式在同一作用域下进行使用的

论回调函数数据走向
此时同一作用域下无法通过赋值的方式获取到这个res

但是可以通过全局的方式进行赋值
论回调函数数据走向
在调用完one之前打印的a依旧是空 因为预加载并不会执行函数,但是执行完one函数后 在另一个函数中a的值就会发生变化这时你可以再次拿到res数据

很多人最大的迷惑可能就是为什么one调用前无法获得数据.或者是同一作用域中为什么无法获得数据.现在明白了吧