В моем проекте, иногда из-за ошибок, которые я делаю, или из-за того, что делает новый член команды, бывают случаи, когда HTTP-запрос с некоторыми конкретными параметрами отправляется удаленному бэкэнду более одного раза в одно и то же время (имеется в виду то же самое запрос будет отображаться в браузере http-запросы в инструментах разработчика дважды как ожидающие).
Подобные случаи вредны для нас, и раньше они вызывали у нас проблемы в тех случаях, когда удаленный компьютер отвечал на эти запросы со скоростью, меньшей, чем интервал, который их отправлял.
Очевидное решение здесь - всегда быть уверенным, что мы получаем ответ на запрос определенного типа, прежде чем отправлять следующий запрос того же типа (и параметров). Но я думал, что должен быть способ убедиться в общем, что если какой-то запрос должен быть отправлен с помощью angular http-службы, если этот запрос уже существует с ожидающим статусом, служба могла бы вернуть ТАКОЕ наблюдаемое, которое было возвращается предыдущим запросом, который уже ожидает обработки (что решит некоторые беспорядочные случаи, когда у меня есть два разных и несвязанных компонента, выполняющих один и тот же запрос один за другим, это заставит их обоих подписаться на один и тот же наблюдаемый объект).
У нас уже есть служба, которая объединяет все виды использования в нашем проекте с помощью http.
Вопрос в том, как я могу добиться такого поведения (или если по какой-то причине моя идея неверна и, может быть, мне не следует стремиться к такому поведению?), Я ищу наиболее простое доступное решение (возможно, есть что-то уже внедрено angular для достижения того, что я пропустил?) или в случае, если нет какого-то наблюдаемого решения, которое проверяло бы каждый запрос, который мы собираемся сделать, если запрос уже существует с ожидающим статусом