如果可观察结果等于某个值,如何退出函数

Ama*_*eye 2 javascript angular

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

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

我希望这个发布函数只有在结果为true时才继续执行.

如何管理?

Art*_*yan 5

这是不可能的,你应该把你publish的功能代码订阅内,或有另一种方法,你可以这样做,你可以用.toPromise()async/await,如果你会得到你的数据的一个时间,而不是在流

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