Я подписываюсь на отложенное наблюдаемое через асинхронный канал в angular 11.
По какой-то причине обнаружение изменений (?) Не стабилизируется, и канал не получает значения, и я не могу понять, почему? ???? Вместо отображения моих данных отображается null
.
html
<h1>{{ getData(0) | async | json }}</h1>
составная часть
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
constructor(private dataService: DataService) {}
getData(id: number) {
return this.dataService.getDataDelayed(id).pipe(tap(console.log));
}
}
услуга
const data = [
{
id: 0,
data: 'hello'
}
];
@Injectable()
export class DataService {
constructor() {}
getDataDelayed(id: number) {
return of(data[id]).pipe(delay(5000)); // works fine without the delay
}
}
getDataDelayed()
. В этот момент наблюдаемое замещается новым (потому что запускается новый запрос), который еще не имеет значения и поэтому отображается какnull
. - person JSON Derulo   schedule 07.06.2021