我追求的情景如下:
有两个不同的ajax调用,它们在我的react应用程序中从服务器端检索数据。它们不需要被链接,并且响应不是相互依赖的。我目前的代码如下。
componentDidMount() {
axios.all([
getOrganizationsForUser(this.state.accessToken, this.state.userId),
getAllUsersOfOrganizationsTemp()
]).then(axios.spread((organizations, users) => {
this.setState({
userOrganizations: organizations.data,
OrganizationUsers: users
});
}))
}
因此,当一个呼叫被拒绝或失败时,上述代码中的整个ajax呼叫失败。什么是处理多个,非相关/非依赖的ajax调用的最佳方法?
答案 0 :(得分:0)
如果请求的两个请求彼此分开并且不依赖于一起,那么为什么要对请求组进行分组?
你可以拨打多轴呼叫,这种方式不会降低你的性能
如果你想设置你的一个实例axios方法,正是因为这个原因,你有一些方法的配置而你不想重写它们你可以用create()方法创建一个axios实例然后设置你的任何配置你想要
看到这个
const instance = axios.create();
在上面,你创建了一个axios实例,然后以这种方式设置你的配置,例如你想要设置超时
instance.defaults.timeout = 2500;
之后你可以得到任何请求
instance.get('/query', {
// --------
});
如果要覆盖配置,可以在实例中进行设置
instance.get('/query', {
timeout: 5000
});