将承诺转化为可观察的

我试图把头围在可观察物上。我喜欢可观测技术解决开发和可读性问题的方式。如我所读,好处是巨大的。


HTTP和集合上的可观察对象似乎很简单。我如何将类似的东西转换为可观察的模式。


这是从我的服务组件提供身份验证的。我希望它可以像Angular2中的其他HTTP服务一样工作-支持数据,错误和完成处理程序。


firebase.auth().createUserWithEmailAndPassword(email, password)

  .then(function(firebaseUser) {

    // do something to update your UI component

    // pass user object to UI component

  })

  .catch(function(error) {

    // Handle Errors here.

    var errorCode = error.code;

    var errorMessage = error.message;

    // ...

  });

在这里的任何帮助将不胜感激。我唯一的替代解决方案是创建EventEmitter。但是我想这是在服务部分做事的一种糟糕方法


有只小跳蛙
浏览 647回答 3
3回答

鸿蒙传说

如果您使用的是RxJS 6.0.0:import { from } from 'rxjs';const observable = from(promise);

幕布斯6054654

尝试这个:import { Observable } from "rxjs/Observable";var subscription = Observable.fromPromise(    firebase.auth().createUserWithEmailAndPassword(email, password));subscription.subscribe(firebaseUser => /* Do anything with data received */,                       error => /* Handle error here */);您可以在此处找到对fromPromise运算符的完整参考。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

AngularJS