本文整理匯總了TypeScript中rxjs.ReplaySubject.complete方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript ReplaySubject.complete方法的具體用法?TypeScript ReplaySubject.complete怎麽用?TypeScript ReplaySubject.complete使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類rxjs.ReplaySubject
的用法示例。
在下文中一共展示了ReplaySubject.complete方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1:
(error: object, data: NpmRepositoryPackageJson) => {
if (error) {
subject.error(error);
}
subject.next(data);
subject.complete();
});
示例2: handleMessage
handleMessage(msg: proto.Message) {
if (msg.type) {
switch (msg.type) {
case 'offer':
log.webrtc('REMOTE OFFER', { offer: msg.offer })
this.pc
.setRemoteDescription({ type: 'offer', sdp: msg.offer })
.then(() =>
this.candidates.subscribe((ic) =>
this.pc
.addIceCandidate(ic)
.catch((err) => log.webrtc('Failed to addIceCandidate', err))
)
)
.then(() => this.pc.createAnswer())
.then((answer) => this.pc.setLocalDescription(answer))
.then(() => {
const { sdp } = this.pc.localDescription as RTCSessionDescription
log.webrtc('Send LOCAL ANSWER', { answer: sdp })
this.send({ answer: sdp })
this.sdpIsSent()
})
.catch((err) => this._onError(err))
break
case 'answer':
log.webrtc('REMOTE ANSWER is received', { answer: msg.answer })
this.pc
.setRemoteDescription({ type: 'answer', sdp: msg.answer } as any)
.then(() => {
this.candidates.subscribe((ic) =>
this.pc
.addIceCandidate(ic)
.catch((err) => log.webrtc(`${this.id}: Failed to add REMOTE Ice Candidate`, err))
)
})
.catch((err) => this._onError(err))
break
case 'candidate':
log.webrtc('REMOTE ICE CANDIDATE is received', msg.candidate)
this.candidates.next(new env.RTCIceCandidate(msg.candidate as proto.IceCandidate))
break
default:
this._onError(new Error('Buffer Protocol unknown message from the remote peer'))
}
} else {
log.webrtc('REMOTE FINAL MESSAGE received')
this.finalMessageReceived = true
this.candidates.complete()
if (this.finalMessageSent) {
this.remotes.delete(this.id)
}
}
}
示例3: Date
.subscribe(articles => {
if (articleSubject.observers.length > 0) {
articleSubject.next(articles);
feed.lastUpdatedAt = new Date();
setTimeout(
() => this.fetchArticles(feed, articleSubject),
600000,
);
} else {
articleSubject.complete();
}
});
示例4: clean
clean(sendFinalMessage = true) {
log.webrtc('CLEAN REMOTE')
this.pc.oniceconnectionstatechange = () => {}
this.pc.onicecandidate = () => {}
;(this.pc as any).ondatachannel = () => {}
this._onError = () => {}
this.candidates.complete()
this.remotes.delete(this.id)
clearTimeout(this.timer)
this.pc.close()
if (sendFinalMessage) {
this.sendFinalMessage()
}
}
示例5: getNpmConfigOption
function getNpmConfigOption(
option: string,
scope?: string,
tryWithoutScope?: boolean,
): Observable<string | undefined> {
if (scope && tryWithoutScope) {
return concat(
getNpmConfigOption(option, scope),
getNpmConfigOption(option),
).pipe(
filter(result => !!result),
defaultIfEmpty(),
first(),
);
}
const fullOption = `${scope ? scope + ':' : ''}${option}`;
let value = npmConfigOptionCache.get(fullOption);
if (value) {
return value;
}
const subject = new ReplaySubject<string | undefined>(1);
try {
exec(`npm get ${fullOption}`, (error, data) => {
if (error) {
subject.next();
} else {
data = data.trim();
if (!data || data === 'undefined' || data === 'null') {
subject.next();
} else {
subject.next(data);
}
}
subject.complete();
});
} catch {
subject.next();
subject.complete();
}
value = subject.asObservable();
npmConfigOptionCache.set(fullOption, value);
return value;
}
示例6: getNpmConfigOption
function getNpmConfigOption(
option: string,
scope?: string,
tryWithoutScope?: boolean,
): Observable<string | undefined> {
if (scope && tryWithoutScope) {
return concat(
getNpmConfigOption(option, scope),
getNpmConfigOption(option),
).pipe(
filter(result => !!result),
defaultIfEmpty(),
first(),
);
}
const fullOption = `${scope ? scope + ':' : ''}${option}`;
let value = npmConfigOptionCache.get(fullOption);
if (value) {
return value;
}
const subject = new ReplaySubject<string | undefined>(1);
const optionValue = npmConfig && npmConfig[fullOption];
if (optionValue == undefined || optionValue == null) {
subject.next();
} else {
subject.next(optionValue);
}
subject.complete();
value = subject.asObservable();
npmConfigOptionCache.set(fullOption, value);
return value;
}
示例7:
Promise.all(promises).then(() => subject.complete());