Я получаю ошибку Argument of type '() => Observable<Device[]>' is not assignable to parameter of type 'Promise<any>'
из этой разметки:
<div *ngIf="(deviceStoreService.getDevices | async) as devices">
<tr *ngFor="let device of devices">
<td>{{device.name}} <midi-keyboard [device]="device"></midi-keyboard></td>
</tr>
</div>
Я получаю ту же ошибку из этой разметки:
<tr *ngFor="let device of (deviceStoreService.getDevices | async)">
<td>{{device.name}} <midi-keyboard [device]="device"></midi-keyboard></td>
</tr>
Я не получаю ошибку, если яназначьте переменную члена класса контроллера с разметкой:
<tr *ngFor="let device of (devices | async)">
<td>{{device.name}} <midi-keyboard [device]="device"></midi-keyboard></td>
</tr>
и классом контроллера:
export class DeviceComponent implements OnInit {
devices: Observable<Array<Device>>;
constructor(
private deviceStoreService: DeviceStoreService,
) { }
ngOnInit() {
this.devices = this.deviceStoreService.getDevices();
}
Почему это так?