Хорошо ли делать вызовы API, сделанные в блоке try-catch или снаружи, в redux-саге? - PullRequest
1 голос
/ 21 марта 2019

В моем файле saga.ts есть следующая функция:

export function* getProductsList(action) {
   yield put(productsListAttempt(true));

   const productsList = yield api.getProductsList();

   try {

     yield put(productsListSuccess(productsList));

   } catch {

     yield put(productsListError('Error occured'));
   }
}

Я пытаюсь написать модульный тест для этой функции.Проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда я выполняю свой тест на ОТКАЗ функции, он не проходит хорошо.Это никогда не дает результат согласно блоку catch.Но когда я помещаю эту строку: const productsList = yield api.getProductsList(); в блок try, тогда тест проходит в соответствии с ожиданиями.

- Действительно ли хорошо помещать вызов API вне блока try или нет?Почему так?

1 Ответ

0 голосов
/ 26 марта 2019

Нет ничего плохого в том, чтобы помещать вызов в блок try / catch, я делаю то же самое в своих проектах, и это нормально, потому что вызов может завершиться неудачно, а try / catch позволяет вам, по определению, справиться с этой ошибкой ?

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