我正在执行GetList api调用,得到响应后,我将进行另一个api调用。在所有调用完成后,应该发生dispatchUpdateHeader。但是它不起作用。写太多.thens是个好主意吗?
export const getList = (data) => {
return (dispatch) => {
const { url, params } = GetList(data.items);
return fetch(url, params)
.then(() => {
dispatch(getSavedItems(data.reqBody));
const { url1, params1 } = UpdateItemsApi();
return fetch(url1, params1).then(() => {
dispatchUpdateHeader();
});
});
};
};
答案 0 :(得分:0)
您不需要嵌套“ then”。您将需要一个扁平的结构。
fetch(url)
.then(function(response) {
return response.json()
})
.then(function(data) {
// do stuff with `data`, call second `fetch`
return fetch(data.anotherUrl)
})
.then(function(response) {
return response.json();
})
.then(function(data) {
// do stuff with `data`
})
.catch(function(error) {
console.log('Requestfailed', error)
});