如何将promise转换为可观察的angular2?

时间:2017-07-31 12:37:49

标签: angular2-observables

我在angular2中使用了promise,但我的要求是通过可观察的方法完成的。

Component.ts: -

  constructor(private MenuService:MenuService, private router: Router ) {
    this.getMenuPermissions().then(() => this.menuList = this.router.config);
  }

  ngOnInit() { }

  getMenuPermissions(){
    let promise = new Promise((resolve, reject) => {
      this.MenuService.getMenuPermission()
        .subscribe( res => {this.apiResponse = res},
                   err  => reject(),
                   ()   => this.response(this.apiResponse, resolve)
                  );
    });
    return promise;
  }

  response(response, resolve)
  {
    if(response.api_status == 1)
    {
      this.menuPermissions = response.data;
      return resolve();
    }
  }

我的总体要求是: - 首先调用服务并调用HTML函数。使用promise方法已完成但由可观察方法完成。我不知道该怎么办?请在可观察的方法中转换此代码。

1 个答案:

答案 0 :(得分:0)

你可以这样做,

Observable.fromPromise(funcReturnsPromise())