创建自定义Observable

时间:2016-09-28 11:48:01

标签: angular angular2-observables

创建自定义observable是否可能(并且正确)? 例如,如果我的缓存中有数据,我想在发出http请求之前创建自定义observable:

我的要求:

ctrl + }

感谢' S

3 个答案:

答案 0 :(得分:0)

是的,您可以按照答案http://50.112.30.188/socket.io/?EIO=3&transport=polling&t=1475061508132-0中的说明创建一个可以观察的主题,并在缓存中有数据时使用它。

答案 1 :(得分:0)

您可以执行以下操作:

getDeviceById(deviceId): Observable<Device> {
if(this.authProvider == deviceId) {
    return Observable.create(observer => {
        observer.next("something");
        observer.complete();
    });
} else return this.http.get('/api/device/get/'+deviceId)
            .map(res => res.json())
            .catch(this.handleError);

答案 2 :(得分:0)

你可以这样做:

var button = document.querySelector('button');

var subscription = Rx.Observable.create(function(obs) {
  button.onclick = function(event) {
  obs.next(event);
}
.subscribe(function(value) {
   console.log(value);
},);

在该链接中查看更多内容:http://reactivex.io/documentation/operators/create.html