Я бы использовал один из двух вариантов:
Вариант 1
Вы создаете другой Observable (loading$
или state$
) в вашем DataSource (Service , Я полагаю?), Который обеспечивает либо логическое указание, загружается он или нет, либо (что еще лучше) «состояние» (перечисление), способное указать, находится ли он «в исходном состоянии», «загружен», «загружается» и т. Д. c.
Вариант 2
Вы можете изменить содержимое, которое проходит через userData$
Observable. Я бы предположил, что Observable будет посредником в следующей структуре данных:
{
user: { ... }, // Containing the user data that has been loaded
state: "Loaded",
}
(при загрузке пользовательских данных) и:
{
user: { ... }, // Containing the previously loaded user's data
state: "Loading",
}
(при загрузке пользовательских данных)
Ну, честно говоря, я бы, скорее всего, использовал систему управления состоянием, похожую на redux, такую как:
Но это уже другая история