等待过滤器完成

时间:2018-06-20 19:27:17

标签: javascript angular typescript filter

是否可以等待过滤器功能完成?

我在Angular 6中有这个可观察的地方,我在那里做一个过滤器。过滤器需要花费几秒钟的时间,所以完成一些功能会很不错,因为过滤器已经完成。这可能吗?

flSearch(input) {
    return this._plantCache.pipe( // Use downloaded JSON file
            map(
              (res: Array<Object>) => {
                return res.filter(item => {
                  return item['Fl'].indexOf(fl) !== -1;
                });
              },
              error => {
                this.loadingHide();
                return error;
              })
            );
}

其他文件

this._data.flSearch(data.value.searchPlant)
            .subscribe(items => {
              console.log(items);
            });

1 个答案:

答案 0 :(得分:0)

您可以使函数返回可观察的https://angular.io/guide/observables

import {Observable} from 'rxjs/Observable';

flSearch(input) {
    return new Observable ((observer) => {
      observer.next(this._plantCache.pipe( // Use downloaded JSON file
        map((res: Array<Object>) => {
          return res.filter(item => {
            return item['Fl'].indexOf(fl) !== -1;
          });
        }, error => {
          this.loadingHide();
          return error;
        })
      ));
    });
  }

编辑observer.next()是您用来返回值的内容,observer.complete()关闭可观察对象,以使其完成工作后不会耗尽内存。您将必须导入rxjs才能访问可观察的实例。