我有一个返回BehaviorSubject
的函数但是当我尝试使用我从函数返回的数据时,我需要在所有数据都恢复后使用它,有没有办法知道{何时{ {1}}完成所有数据?
我尝试使用BehaviorSubject
,但它永远不会被调用。这是我正在使用的代码。
.finally
的屏幕截图
答案 0 :(得分:2)
最简单的方法是收集数组中的所有数据,并在收集数据后仅调用next
。更好的是:根本不要使用主题。人们很少需要创造一个主题。通常人们使用Subjects时,他们应该使用更简化的可观察工厂方法或操作员:
getChildren(node: TreeNode) {
return Observable.defer(() => {
const result = [];
return node.doForAll(d => result.push(d.id)).then(() => result);
});
}