本文整理汇总了TypeScript中rxjs/Subscriber.Subscriber类的典型用法代码示例。如果您正苦于以下问题:TypeScript Subscriber类的具体用法?TypeScript Subscriber怎么用?TypeScript Subscriber使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Subscriber类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: _update
// Process promise response from _onNext.
private _update(inner: Subscriber<EvalDataSet>, resp: EvalIterResponse): void {
// Merge with everything collected so far.
this.inFlight.merge(resp.data);
// Filter out any scrapes that are no longer to be shown.
let filter: FilterTimeSpec = this.timeSpecService.filter;
if (filter.active)
this.inFlight.retainIf((line) => filter.test(line.date));
// Update request parameters for next request.
this.params.set('begin', resp.newBegin.getTime().toString());
this.params.set('cookie', resp.cookie);
this.params.set('iter', resp.iter);
// Only continue fetching more data if still live.
if (!this.stopped) {
// Emit copy of current inflight.
inner.next(this.inFlight.clone());
if (resp.last) // Close after last item emit.
inner.complete();
else // Continue fetching more data.
this._onNext(inner);
}
}
示例2: Observable
return new Observable((subscriber: Subscriber<Response>) => {
const cachedData = requestOptions.cache === HttpCachePolicy.Update ?
null : this.httpCacheService.getCacheData(url);
if (cachedData !== null) {
// Create new response to avoid side-effects
subscriber.next(new Response(cachedData));
subscriber.complete();
} else {
this.httpRequest(request, requestOptions).subscribe(
(response: Response) => {
// Store the serializable version of the response
this.httpCacheService.setCacheData(url, null, new ResponseOptions({
body: response.text(),
status: response.status,
headers: response.headers,
statusText: response.statusText,
type: response.type,
url: response.url
}));
subscriber.next(response);
},
(error: any) => subscriber.error(error),
() => subscriber.complete()
);
}
});
示例3: XMLHttpRequest
(subscriber: Subscriber<ILoadStatusObject>): void => {
if (!this.merged) {
let mesh: IMesh = { faces: [], vertices: [] };
subscriber.next({ loaded: { loaded: 0, total: 0 }, object: mesh });
subscriber.complete();
return;
}
let xmlHTTP: XMLHttpRequest = new XMLHttpRequest();
xmlHTTP.open("GET", Urls.proto_mesh(this.key), true);
xmlHTTP.responseType = "arraybuffer";
xmlHTTP.onload = (e: any) => {
let mesh: IMesh;
if (xmlHTTP.status === 200) {
mesh = MeshReader.read(new Buffer(xmlHTTP.response));
} else {
mesh = { faces: [], vertices: [] };
}
subscriber.next({ loaded: { loaded: e.loaded, total: e.total }, object: mesh });
subscriber.complete();
};
xmlHTTP.onprogress = (e: any) => {
subscriber.next({ loaded: { loaded: e.loaded, total: e.total }, object: null });
};
xmlHTTP.send(null);
});
示例4: Observable
return new Observable((observer: Subscriber<any>) => {
let applicationState: ApplicationState = {
applicationFormModified: false,
applicationFormInvalid: false,
applicationSaveState: ApplicationSaveState.idle
};
observer.next(applicationState);
observer.complete();
});
示例5: catch
(value) => {
try {
subscriber.next(value);
} catch (err) {
subscriber.error(err);
}
},
示例6:
image.onload = () => {
let texture: THREE.Texture = new THREE.Texture(image);
texture.minFilter = THREE.LinearFilter;
texture.needsUpdate = true;
subscriber.next(texture);
subscriber.complete();
};
示例7:
FB.getLoginStatus(response => {
if (response.status === 'connected') {
localStorage.setItem('token', `facebook ${response.authResponse.accessToken}`);
}
subscriber.next(response);
subscriber.complete();
});
示例8:
let onImgLoad = (file, img) => {
if (!this.isValidDimension(img)) {
sub.error(('LEAGUES.IMG.INVALID_DIMENSION'));
return;
}
sub.next(reader.result);
};
示例9: Buffer
xmlHTTP.onload = (e: any) => {
let mesh: IMesh;
if (xmlHTTP.status === 200) {
mesh = MeshReader.read(new Buffer(xmlHTTP.response));
} else {
mesh = { faces: [], vertices: [] };
}
subscriber.next({ loaded: { loaded: e.loaded, total: e.total }, object: mesh });
subscriber.complete();
};
示例10: HttpErrorResponse
this._context.acquireToken(res, (message: string, token: string) => {
if (message) {
subscriber.error(
new HttpErrorResponse({
error: message,
headers: null,
status: 401,
statusText: 'Error from AAD',
url: res
})
);
}
subscriber.next(token);
})