Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在react中,在等待/异步完成之前运行函数序列的最佳方法是什么使用执行时间_Javascript_Reactjs_Async Await - Fatal编程技术网

Javascript 在react中,在等待/异步完成之前运行函数序列的最佳方法是什么使用执行时间

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}); 设置超

目标: 我想能够显示几个html行,而等待是等待完成。例如

启动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