我想知道这段代码是否有任何意义:
let subs : Subscription;
// getObjectInfo retrieves object information from a MySQL DB
subs = this.ObjectService.getObjectInfo(item.id_obj)
.subscribe(
(retObject : any) => {
// Process object here
},
(error) => {
// Error in API call
},
() => {
// IS THIS REDUNDANT OR UNNECESSARY?
subs.unsubscribe();
}); 我假装的是确保一旦我从数据库获得信息并处理它,订阅就完成了,但我不知道这是不是一个好方法,或者是否没有必要...
我问这个的原因是因为我有时会看到重复的API调用,我想知道是不是因为我没有以适当的方式完成订阅或类似的事情。
谢谢!
发布于 2018-05-23 22:47:55
您可以使用take或first
this.ObjectService.getObjectInfo(item.id_obj)
.take(1) // or first()
.subscribe(...)所以它会在第一次发射后自动取消订阅
https://stackoverflow.com/questions/50491206
复制相似问题