Сага возвращения является библиотекой промежуточного программного обеспечения возвращения, которая разработала для обработки побочных эффектов в приложениях возвращения. Это предоставляет разработчикам способность управлять асинхронным кодом синхронно.
Выбирающие данные из API могут быть случаем общего использования для использования саги возвращения для обработки побочных эффектов, в то время как приложение работает в фоновом режиме. Эта задача является асинхронной, поскольку мы не можем быть на 100% уверены, если и когда обещанный данные будет доступно для нашего использования. Это приводит к плохому пользовательскому опыту, поскольку мы не можем гарантировать время, которое потребовалось бы для отображения данных, в которых они нуждаются. При помощи саги мы можем остановить функциональное выполнение и ожидать, пока данные не готовы, и затем продвиньтесь для выполнения следующей строки кода. Как сага возвращения Обычно, мы захотим отобразить загружающийся индикатор для передачи сигналов о состоянии вызова нашим пользователям, приводящим к лучшему пользовательскому опыту в конце.
function fetchJson(url) { return fetch(url) .then(request => request.text()) .then(text => { return JSON.parse(text); }) .catch(error => { console.log(`ERROR: ${error.stack}`); }); }
может быть записан как (с помощью библиотек, таких как co.js) —
function * fetchJson(url) { try { let request = yield fetch(url); let text = yield request.text(); return JSON.parse(text); } catch (error) { console.log(`ERROR: ${error.stack}`); } };