你能帮我在我尝试过滤一个 observable 后得到一个空数组吗
这是我在控制台日志时得到的输出
Array []
长度:0;数组[]
这是我的共享服务
import { Injectable } from '@angular/core';
import { BehaviorSubject, Observable } from 'rxjs';
import { Supplier } from '../components/selectsupplier/selectsupplierObj';
@Injectable({
providedIn: 'root'
})
export class SharedService {
private availablesuppliers = new BehaviorSubject<Supplier[]>(null);
constructor() { }
loadSuppliers(suppliers: Supplier[]) {
this.availablesuppliers.next(suppliers);
}
getSuppliers(): Observable<Supplier[]> {
return this.availablesuppliers.asObservable();
}
}
这是我想通过从 localStorage 检索的供应商 ID 进行过滤的地方
ngOnInit() {
// call function on page load
this.report();
let supplierID = parseInt(this.route.snapshot.paramMap.get('supplier'));
this.SupplierID = supplierID;
localStorage.setItem('supplierid', this.SupplierID);
this.Auth.authStatus.subscribe(value => this.loggedIn = value);
this.shared.getSuppliers()
.pipe(
map(suppliers =>
// console.log("suppliers", suppliers)
suppliers.filter(supplier => supplier.SupplierID === this.SupplierID),
)
)
.subscribe(response => {
console.log("From shared services", response);
console.log(this.SupplierID);
});
}