我创建了一个可以按可观察的间隔停止和重新启动的时间加载器:
start(time) {
this.max = time;
this.intervalObs = Observable.interval(time)
.takeWhile(_ => !this.isFinished)
.do(i =>{this.current += 1 ; console.log(this.current);} )
this.intervalSub$ = this.intervalObs.subscribe();
}
finish() {
this.intervalSub$.unsubscribe();
}
,我想使用行为主题做完全相同的事情。有可能吗?如何?
答案 0 :(得分:0)
您做错了什么。 Subject
分别是Observer
和Observable
。在您的示例中,至少按照我的理解,您正在使用..间隔,这意味着.interval()
实现就足够了。
所以问题是-您要达到什么目标?
答案 1 :(得分:0)
如果您有一个名为finalize的主题,则可以完成该可观察性
data: any = {
'1234': {
url: 'https://example1.com/',
path: 'uploads',
link: 'https://example1.com/uploads',
},
'5678': {
url: 'https://example2.com/',
path: 'uploads',
link: 'https://example2.com/uploads',
}
}
onSubmit(formData) {
this.formdata = formData;
Object.keys(this.data).forEach(key => {
if (key == this.formdata.pin) {
const url = this.data[key].url;
// have also tried this.url to no avail
}
});
// says undefined
console.log(url);
// set up headers, etc...
// I need to use here
this.http.post(url, body, head)
...
}