import
React
, {
Component
} from "
react
";
export default function
async
Component
(import
Component
) {
class
Async
Component
extends
Component
{
constructor(props) {
super(props);
this.state = {
component
: null
import()方法返回的是一个Promise,Promise的返回值只能通过then()来读取,所以你会发现官方的3种
使用
场景全都是在then()里面操作。
async
Component
.jsx
import
React
, {
Component
} from '
react
';
const
async
Component
= (import
Component
) => {
retu...
用
react
的脚手架启动一个ts项目,会有一个tsconfig.json文件,这个是typescript的编译配置。
noImplicitAny,显示报错any,设为false后,当你的代码参数没有赋予类型时,也不会报any的错
target
全部放上去吧
1)方便级联调用:即调用依次发生的场景;
2)同步代码编写方式: Promise
使用
then函数进行链式调用,一直点点点,是一种从左向右的横向写法;
async
/a
wait
从上到下,顺序执行,就像写同步代码一样,更符合代码编写习惯;
3)多个参数传递: Promise的then函数只能传递一个参数,虽然可以通过包装成对象来传递多个参数,但是会导致传递冗余信息,频繁的解析又重新组合参数,比较麻烦;
async
/a
wait
没有这个限制,可以当做普通的局部变量来处理,用let或
在
React
经常会有需要通过异步请求返回的数据,然后再setState到state
中
的操作。但是经常会因为异步的问题,导致数据显示有误,这里我通过
async
解决这个问题,下面是代码。
async
component
D
idM
ount
() {
const data = a
wait
get(`url`) this.setState({
data: data
异步请求回来数据了,但是页面没有渲染
async
component
D
idM
ount
() {
// 异步的请求一定要保证请求回来的数据是确切的。
使用
async
,a
wait
变成同步。
a
wait
this.props.PublishManageStore.fetchArticleList({
productCode,
bid: window.AMBASSADOR_CONFI...
我的逻辑顺序:
父组件d
idM
ount
用ajax异步获取后端数据====》setState到父组件的state
中
=====》用props传给子组件====》子组件
使用
state接受props
中
的数据====》子组件render的代码
使用
state的数据
component
D
idM
ount
() {
this.getNonPhysicalRejectReason();
async
getNonPhysic
在前期博文
中
,针对异步编程,提出了Promise解决方案。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息,解决回调函数嵌套过多的情况。
ES2017 标准引入了
async
函数,使得异步操作变得更加方便。
async
是“异步”的简写,比如Ajax
中
就有这个代表异步请求; 因为a
wait
只能出现在
async
函数
中
的语法规定,a
wait
可以认为是
async
LeiO000: