我正在学习Observable,并尝试一些小事情。除了'observer.complete()'不会在订阅中调用'complete'方法之外,其他所有东西都正常运行。
我搜索了互联网,但未能解决我的问题。我也想知道如何编写通过取消订阅可观察对象而调用的函数。提前致谢。
let observable = new Observable<string>((observer) => {
setTimeout(() => {
observer.next('new1');
}, 1000)
setTimeout(() => {
observer.next('new2');
}, 3000)
setTimeout(() => {
observer.complete()
}, 6000)
}).subscribe((data) => {
console.log(data),
(err) => {
console.log(err)
},
()=>{
console.log('completed')
}
})
答案 0 :(得分:3)
那是因为您仅编写了next
回调
.subscribe((data) => {
console.log(data)
}, <=============================================== note } here
(err) => {
console.log(err)
},
()=>{
console.log('completed')
}
)
或者简单地
.subscribe(
console.log,
(err) => {
console.log(err)
},
() => {
console.log('completed')
}
)