Наблюдаемый rxjs: Используете какое-то ожидание?

Да, вы можете добавить к wp_head действие к следующему:

add_action('wp_head', myCallbackToAddMeta);
function myCallbacktoAddMeta(){
  echo "\t<meta name='keywords' content='$contents' />\n";
}
0
задан Lairg 18 March 2019 в 16:03
поделиться

2 ответа

Вы должны попробовать добавить фильтр перед вашей картой. Используя фильтр, ваша карта не получит вызов до тех пор, пока пользователь не будет установлен.

return this.userSrv.user.pipe(
   filter(Boolean),
   map((user: UserModel) => request.clone(
      {setParams: {'access-token': user.accessToken}}
   )),
   mergeMap(request => next.handle(request))
);
0
ответ дан ukn 18 March 2019 в 16:03
поделиться

Есть несколько способов решить эту проблему.

  1. Синхронно: используйте Angular APP_INITIALIZER (см. здесь ), чтобы выполнить внутренний вызов и убедиться, что объект пользователя присутствует, когда приложение загружается.
  2. Асинхронно: измените свое существующее приложение, чтобы хранить экземпляр пользователя в RxJs BehaviorSubject где-нибудь в службе, и чтобы компоненты, зависящие от него, подписывались на этот BehaviorSubject везде, где требуется экземпляр пользователя. Когда служба создаст, сделайте так, чтобы она сделала бэкэнд-вызов и вставила завершенный пользовательский экземпляр в BehaviorSubject (userSubject.next(user)), когда она будет завершена.
0
ответ дан deathgaze 18 March 2019 в 16:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: