本文整理汇总了TypeScript中rxjs/Subscriber.Subscriber.complete方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Subscriber.complete方法的具体用法?TypeScript Subscriber.complete怎么用?TypeScript Subscriber.complete使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rxjs/Subscriber.Subscriber
的用法示例。
在下文中一共展示了Subscriber.complete方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: super
super((subscriber: Subscriber<boolean>) => {
if (!notification || notification.permission === 'denied') {
subscriber.next(false);
subscriber.complete();
}
else if (notification.permission === 'granted') {
subscriber.next(true);
subscriber.complete();
}
else {
notification.requestPermission().then(permission => {
subscriber.next(permission === 'granted');
subscriber.complete();
});
}
});
示例2: 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);
});
示例3: _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);
}
}
示例4: 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()
);
}
});
示例5:
image.onload = () => {
let texture: THREE.Texture = new THREE.Texture(image);
texture.minFilter = THREE.LinearFilter;
texture.needsUpdate = true;
subscriber.next(texture);
subscriber.complete();
};
示例6:
FB.getLoginStatus(response => {
if (response.status === 'connected') {
localStorage.setItem('token', `facebook ${response.authResponse.accessToken}`);
}
subscriber.next(response);
subscriber.complete();
});
示例7: Observable
return new Observable((observer: Subscriber<any>) => {
let applicationState: ApplicationState = {
applicationFormModified: false,
applicationFormInvalid: false,
applicationSaveState: ApplicationSaveState.idle
};
observer.next(applicationState);
observer.complete();
});
示例8: 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();
};
示例9: ResponseOptions
xhr.onload = (event: Event) => {
var body = xhr.response ? xhr.response : xhr.responseText;
var status = xhr.status === 0 ? (body ? 200 : 0) : xhr.status;
var responseOptions = new ResponseOptions({
body: body,
type: ResponseType.Default,
status: status,
statusText: xhr.statusText ? xhr.statusText : "OK"
});
var response = new Response(responseOptions);
// If status is between 200 and 299, request was successful.
// Otherwise, request failed.
response.ok = status >= 200 && status <= 299;
if (response.ok) {
subscriber.next(response);
subscriber.complete();
}
else {
subscriber.error(response);
}
};
示例10: Blob
xmlHTTP.onload = (event: Event) => {
if (xmlHTTP.status !== 200) {
console.warn("Image texture could not be loaded for key " + key);
subscriber.complete();
return;
}
image.onload = () => {
let texture: THREE.Texture = new THREE.Texture(image);
texture.minFilter = THREE.LinearFilter;
texture.needsUpdate = true;
subscriber.next(texture);
subscriber.complete();
};
image.onerror = (err: Event) => {
console.warn("Image texture could not be loaded for key " + key);
};
let blob: Blob = new Blob([xmlHTTP.response]);
image.src = window.URL.createObjectURL(blob);
};