【发布时间】:2019-12-11 08:37:47
【问题描述】:
我在我的组件中调用了近 7 个服务,它们的调用方式如下所述。现在我希望应该有一个好的和适当的方法。现在我面临的问题是,如果任何一项服务较早加载,因此加载的服务会隐藏他的加载程序,并且由于其他服务加载,屏幕会卡住 5 到 6 秒。请为我提供一个好的解决方案。提前致谢
componentDidMount() {
this.showLoader();
// service 1
axios.get(this.apiUrl + '/service1para', { headers: { Authorization: 'bearer ' + this.state.jwtToken } })
.then((response) => {
this.setState({ clients: response.data.retrn });
this.hideLoader();
}).catch(err => console.log(err));
// service 2
axios.get(this.apiUrl + 'serivce2para', { headers: { Authorization: 'bearer ' + this.state.jwtToken } })
.then((response) => {
this.setState({ clients: response.data.retrn });
this.hideLoader();
}).catch(err => console.log(err));
// service 3
axios.get(this.apiUrl + 'serivce3para', { headers: { Authorization: 'bearer ' + this.state.jwtToken } })
.then((response) => {
this.setState({ clients: response.data.retrn });
this.hideLoader();
}).catch(err => console.log(err));
// service 4
axios.get(this.apiUrl + 'serivce4para', { headers: { Authorization: 'bearer ' + this.state.jwtToken } })
.then((response) => {
this.setState({ clients: response.data.retrn });
this.hideLoader();
}).catch(err => console.log(err));
// service 5
axios.get(this.apiUrl + 'serivce5para', { headers: { Authorization: 'bearer ' + this.state.jwtToken } })
.then((response) => {
this.setState({ clients: response.data.retrn });
this.hideLoader();
}).catch(err => console.log(err));
// service 6
axios.get(this.apiUrl + '/serivce6para', { headers: { Authorization: 'bearer ' + this.state.jwtToken } })
.then((response) => {
this.setState({ clients: response.data.retrn });
this.hideLoader();
}).catch(err => console.log(err));
}
【问题讨论】:
-
你真的需要 componentDidMount 中的所有信息吗?
-
no @SuleymanSah 这个答案对我不起作用
标签: reactjs react-native axios