过滤可观察到的角度

时间:2021-06-23 00:37:23

标签: angular typescript redux-observable

你能帮我在我尝试过滤一个 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);

    });
}

0 个答案:

没有答案