Пару недель тому узнал что отменить запрос, посланный через fetch не так просто и кроссбраузерно как мне казалось. А еще очень многословно. А еще promise, возвращаемый fetch-ем будет rejected, поэтому в обработке ошибок нужно отличать ошибки аборта запроса от других ошибок.
Решил переехать на axios, но у того синтаксис того как делать аборты незавершенных запросов более вырвиглазный (личное мнение) чем у fetch.
Понял проблематику,
Да согласен, теперь axios прямая зависимость в app-state, можно конечно axios.isCancel абстрагировать в api.ts, тогда прямая зависимость скроется, но все равно пользователь api должен обладать тем знанием что “ошибка может быть не совсем ошибка”, возможно общий эррор хендлер создать…
RXJS - это свой мир. Если использовать эту библиотеку, то все приложение нужно моделировать вокруг нее. Статья что ты кинул - про то как свести запрос-ответ к RXJS стримам. В моем случае я все свожу к Mobx observables и еще один слой абстракции в виде RXJS был бы лишним.