Javascript 在react中,在等待/异步完成之前运行函数序列的最佳方法是什么使用执行时间
目标: 我想能够显示几个html行,而等待是等待完成。例如Javascript 在react中,在等待/异步完成之前运行函数序列的最佳方法是什么使用执行时间,javascript,reactjs,async-await,Javascript,Reactjs,Async Await,目标: 我想能够显示几个html行,而等待是等待完成。例如 启动api 装载 获取api如果没有工作片段,很难给出准确的解决方案,但下面是一个条件渲染的示例: 类应用程序扩展了React.Component{ 状态={ startingApi:错误, loadingApi:false, gettingApi:错误 } handleClick=()=>{ this.setState({startingApi:true,loadingApi:true,gettingApi:true}); 设置超
启动api
装载
获取api
如果没有工作片段,很难给出准确的解决方案,但下面是一个条件渲染的示例:
类应用程序扩展了React.Component{
状态={
startingApi:错误,
loadingApi:false,
gettingApi:错误
}
handleClick=()=>{
this.setState({startingApi:true,loadingApi:true,gettingApi:true});
设置超时(()=>{
this.setState({startingApi:false});
}, 1000);
设置超时(()=>{
this.setState({loadingApi:false});
}, 2000);
设置超时(()=>{
this.setState({gettingApi:false});
}, 3000);
}
render(){
返回(
获取数据
{this.state.startingApi
?
起始API
:“Api已启动”
}
{this.state.loadingApi
?
加载API
:“已加载Api”
}
{this.state.gettingApi
?
获取API
:“获取Api”
}
);
}
}
ReactDOM.render(,document.querySelector('#root')代码>
img{
宽度:20px;
左边距:10px;
}
div{
填充:10px;
}
谢谢。这是一个很好的解决方案,但我想知道是否没有办法利用async/await来呈现html?作为使用setTimeout的替代方法?setTimeout
只是一个示例,您应该用异步函数替换它。在异步/等待完成之前,我没有办法运行计时器/函数吗?而不是设置超时?我想在等待异步响应时做一些事情。如果您根本不需要计时器,请在等待后将状态(加载)设置为true