1.0.1 • Published 8 years ago

promised-observable v1.0.1

Weekly downloads
6
License
MIT
Repository
github
Last release
8 years ago

promised-observable Build Status js-standard-style

Create an observable from a promise that will resolve to an observable.

Installation

npm i --save promised-observable
npm i --save rxjs # peer dependency

Usage

Full Example

var Observable = require('rxjs/Observable').Observable
var Subscription = require('rxjs/Subscription').Subscription
var PromisedObservable = require('promised-observable')

// simple promise, just to show usage
var promise = new Promise(function (resolve, reject) {
  setTimeout(function () {
    // simple observable, just to show usage
    var observable = new Observable(function (observer) {
      observer.next('hello')
      observer.next('world')
      observer.completed()
      return new Subscription()
    })
    resolve(observable)
  }, 100)
})

var observable = new PromisedObservable(promise)
observable.subscribe(
  log('onNext:')
  log('onError:')
  log('onCompleted:')
)
// onNext: 'hello'
// onNext: 'world'
// onCompleted:

Promise Error

var PromisedObservable = require('promised-observable')

var promise = Promise.reject(new Error('boom'))

var observable = new PromisedObservable(promise)
observable.subscribe(
  log('onNext:')
  log('onError:')
  log('onCompleted:')
)
// onError: [Error: 'boom']

Promise does not resolve observable error

var PromisedObservable = require('promised-observable')

var nonObservable = {}
var promise = Promise.resolve(nonObservable)

var observable = new PromisedObservable(promise)
observable.subscribe(
  log('onNext:')
  log('onError:')
  log('onCompleted:')
)
// onError: [Error: 'promise did not resolve to an observable']

License

MIT