извлечение внутри редуктора не работает, если я использую слишком много .thens - PullRequest
0 голосов
/ 10 мая 2019

Я выполняю вызов API GetList и после получения ответа я делаю еще один вызов 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();
        });
      });
  };
};

1 Ответ

0 голосов
/ 10 мая 2019

Вам не нужно вкладывать «тогда». Вам понадобится плоская конструкция.

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) 
});

Ссылка: https://stackoverflow.com/a/40981353/4452181

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...