如果可观察到的结果等于某个值,如何退出功能

时间:2018-11-27 16:45:39

标签: javascript angular

我的angular 6应用程序中有这段代码:

publish() {
    change.subscribe((result: boolean) => {
        if(!result) return;  // exit publish function
    });
    // continue
}

我希望此发布功能仅在结果为true时才继续执行。

如何管理?

1 个答案:

答案 0 :(得分:5)

这是不可能的,您应该将publish函数代码放入您的订阅中,否则还有另一种方法,可以使用.toPromise()async/await,如果您将得到您的数据一次而不是流中

async publish() {
    const result = await change.toPromise();
    if(result) {
     // your publish function code here
    });
}