如何从角度5中的订阅返回承诺

时间:2018-05-12 05:07:15

标签: angular5

我想问一下,如何从subscribe函数返回一个promise。

以下是代码:

A.ts

makeHttpRequest() {
    return this.http.get('https://example.com/login');
}

B.ts

class B {
    constructor(private a: A) {  
        this.a.makeHttpRequest().subscribe(data => {
            //How to return a promise from here
        });
    }

}

如果有人遇到任何问题需要了解,我提供了一个非常抽象的代码级别,请告诉我。

1 个答案:

答案 0 :(得分:0)

我已经开发出上述问题的解决方案:

class B {
        constructor(private a: A) {

        return new Promise((resolve,reject)=>{
         this.a.makeHttpRequest().subscribe(data => {
                resolve(true);
      }, (err)=> {
            resolve(false);
        });
  });

    }

}