React Suspense 如何高效处理前后端IO异步操作?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1138个文字,预计阅读时间需要5分钟。
简单介绍下Suspense和Suspense主要用来解决网络IO问题,它早在2018年的React 16.6.0版本中就已发布。其相关用法有些已经比较成熟,有的相对不太稳定,甚至经历过重命名、删除等:在ren中。
简单介绍一下SuspenseSuspense主要用来解决网络IO问题,它早在2018年的React 16.6.0版本中就已发布。它的相关用法有些已经比较成熟,有的相对不太稳定,甚至经历了重命名、删除:
- 在render函数中,我们可以写入一个异步请求,请求数据
- react会从我们缓存中读取这个缓存
- 如果有缓存了,直接进行正常的render
- 如果没有缓存,那么会抛出一个异常,这个异常是一个promise
- 当这个promise完成后(请求数据完成),react会继续回到原来的render中(实际上是重新执行一遍render),把数据render出来
- 完全同步写法,没有任何异步callback之类的东西
如果你还没有明白这是什么意思那我简单的表述成下面这句话:
调用render函数->发现有异步请求->悬停,等待异步请求结果->再渲染展示数据
看着是非常神奇的,用同步方法写异步,而且没有yield/async/await,简直能把人看傻眼了。这么做的好处自然就是,我们的思维逻辑非常的简单,清楚,没有callback,没有其他任何玩意,不能不说,看似优雅了非常多而且牛逼。
本文共计1138个文字,预计阅读时间需要5分钟。
简单介绍下Suspense和Suspense主要用来解决网络IO问题,它早在2018年的React 16.6.0版本中就已发布。其相关用法有些已经比较成熟,有的相对不太稳定,甚至经历过重命名、删除等:在ren中。
简单介绍一下SuspenseSuspense主要用来解决网络IO问题,它早在2018年的React 16.6.0版本中就已发布。它的相关用法有些已经比较成熟,有的相对不太稳定,甚至经历了重命名、删除:
- 在render函数中,我们可以写入一个异步请求,请求数据
- react会从我们缓存中读取这个缓存
- 如果有缓存了,直接进行正常的render
- 如果没有缓存,那么会抛出一个异常,这个异常是一个promise
- 当这个promise完成后(请求数据完成),react会继续回到原来的render中(实际上是重新执行一遍render),把数据render出来
- 完全同步写法,没有任何异步callback之类的东西
如果你还没有明白这是什么意思那我简单的表述成下面这句话:
调用render函数->发现有异步请求->悬停,等待异步请求结果->再渲染展示数据
看着是非常神奇的,用同步方法写异步,而且没有yield/async/await,简直能把人看傻眼了。这么做的好处自然就是,我们的思维逻辑非常的简单,清楚,没有callback,没有其他任何玩意,不能不说,看似优雅了非常多而且牛逼。

