Я бы хотел использовать Guard с Async для получения токена пользователя, хранящегося в асинхронном локальном хранилище. Я попробовал следующее:
canActivate(): boolean {
return this.lsProvider
.getValue(Constants.KEY_USER_TOKEN)
.map(value => value != null)
.first();
Я тоже попробовал подход с подпиской, но без удачи:
this.lsProvider
.getValue(Constants.KEY_USER_TOKEN).subscribe(isSuccess => {
if (isSuccess) {
return true;
}
else{
return false;
}
}
Вспомогательный метод работает следующим образом и возвращает Promise
getValue(key: string) {
console.log("getValue " + key);
return this.storage.get(key);
}
Я бы не хотел использовать трансляцию событий в этом случае. Стоит ли использовать async / await или что-то другое? Любой пример приветствуется.