Как я могу добавить задержку на Observalbe?
Вот мой код (этот код на конвейере):
@Pipe({
name: 'toTitle',
pure: false
})
export class ToTitlePipe implements PipeTransform {
constructor(private translate: TranslateService) { }
transform(model: BaseModel | ModelType): Observable<string> {
return this.getModelTitle(model).pipe(map(title => {
if (model instanceof BaseModel) {
const classSettings = model.modelType.getClassSettings();
if (classSettings && classSettings.toTitle) {
return `${title} ${model.modelType.getClassSettings().toTitle(model)}`;
}
return `${title} ${model.primaryKey}`
}
return title;
}), delay(0));
}
getModelTitle(model: BaseModel | ModelType): Observable<string> {
return of('test');
}
}
Хорошо работает, когда я удаляю задержку,заголовок верен.Но когда я добавляю это delay(0)
, метод преобразования возвращает ноль.
Я должен использовать задержку из-за ExpressionChangedAfterItHasBeenCheckedError
.
Почему канал delay
возвращает ноль?
РЕДАКТИРОВАТЬ:
Вот как я потребляю трубу:
{{model | toTitle | async}}
Когда я пытаюсь это: (model | toTitle | async) === null
, он возвращает true
по шаблону.