Мне нужно вызвать два API параллельно. И это важно, так как я хочу свести время page to load
к минимуму.
Если я вызову два API (как показано ниже) в
componentDidMount
, будет ли это асинхронным или нет.
class Test extends Component{
constructor(args) {
super(args)
this.state = {
...
};
...
}
componentDidMount() {
//api1() and api2() are like .get(url).then()
this.props.dispatch(actions.api1())
this.props.dispatch(actions.api2())
}
}
Будет ли вызов API1() и API2() выполняться параллельно или синхронно? И как я могу сделать это параллельно
- Я также хотел бы упомянуть, что мое приложение использует
redux-thunk
примерно так, как показано ниже, но я не совсем уверен, что именно делает этот код. Я прочитал https://redux.js.org/api-reference/applymiddleware что, применяя промежуточное программное обеспечение, мы можем заставитьdispatch
работать асинхронно.
import { createStore, applyMiddleware, compose } from 'redux'
import thunk from 'redux-thunk'
import { createLogger } from 'redux-logger'
import axios from 'axios'
import { routerMiddleware } from 'react-router-redux'
import InitialState from './InitialState'
const middleware = [ thunk.withExtraArgument(axios), routerMiddleware(history) ]
/* eslint-enable no-undef */
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose
const store = createStore(
rootReducer,
InitialState,
composeEnhancers(applyMiddleware(...middleware))
)
export default store