异步交付数据

0
视频
0
完成
0%
进度
0
分钟
0
完成
0%
进度

之前我们创建的这个 observable 交付的数据都是同步的 .. 就是它会先交付这个苹果 .. 完成以后,接着再交付下面这个桔子 ..

observable 交付的数据也可以是异步的 .. 就是数据不能马上交付给 Observer,比如在请求一些接口的时候,获取到接口返回来的数据需要一段时间 .. 等接口返回了数据以后, observable 再把返回来的数据交付给 observer,这个过程就是异步的 ..

下面我们可以做几个实验 ..

在订阅 observalbe 之前,可以在控制台上输出点文字 .. before subscribe ..

订阅以后,再在控制台上输出点文字 .. 输出一个 after subscribe ..

你会发现,控制台上会先输出一个 before subscribe ,然后是一个苹果,一个桔子,完成以后 ,最后又输出了一个 after subscribe .. 说明代码是同步执行的 ..

异步

在创建 observable 的时候,这里我们可以使用 setTimeout 模拟一个异步的情况 ... 用一下 setTimeout .. 里面再用一下 next 方法交付一个数据 .. 一个 lemon ..

再把下面这个 complete 也放进来 .. 时间可以设置成 2000 .. 我们假装交付这个柠檬的时候,需要执行一些额外的操作 .. 这个操作需要等一段时间才能返回需要交付的数据 ..

保存一下 ..

这次你会发现,在 after subscribe 的下面,也就是订阅 observable 之后,过了一段时间,又得到了一个柠檬 .. 然后又输出了一个 done! ..

因为柠檬这个数据现在是异步交付的 ..

异步交付数据《 RxJS:反应式编程 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点