Я перехожу от redux-thunk к redux-saga, но обнаружил один недостаток.
С redux-thunk у меня был очень типичный способ «добавить запросы»:
try {
downloadId = await dispatch(requestDownload('SOME_URL'));
} catch(ex) {
console.log('download already existed, so request denied');
}
Это действие вернет обещание, которое я мог бы подождать. Функция request
(requestDownload
выше) либо удовлетворит запрос и разрешит с помощью downloadId
, либо отклонит, если загрузка для этого SOME_URL
уже существует.
Как я могу сделать это в редукс-саге? Кажется, действия не могут ничего вернуть.
Спасибо