Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular material 从angular mat对话框返回布尔值并等待afterclosed执行任务_Angular Material_Angular6_Angular8_Angular9_Angular10 - Fatal编程技术网

Angular material 从angular mat对话框返回布尔值并等待afterclosed执行任务

Angular material 从angular mat对话框返回布尔值并等待afterclosed执行任务,angular-material,angular6,angular8,angular9,angular10,Angular Material,Angular6,Angular8,Angular9,Angular10,我有一个卡住的场景。详情如下: 我有几个组件-Comp_A、Comp_B等,它们需要调用服务来进行一些计算,如: Comp(A): Service.getStatus().subscribe( (isYesOrNo)=>{ //do some action according to Component if(isYesOrNo) //do something else // do something } 服务: function 1 : getStatus() : Observable&

我有一个卡住的场景。详情如下:

我有几个组件-Comp_A、Comp_B等,它们需要调用服务来进行一些计算,如:

Comp(A): Service.getStatus().subscribe(
(isYesOrNo)=>{
//do some action according to Component
if(isYesOrNo) //do something
else // do something
}
服务:

function 1 : getStatus() : Observable<boolean>{
 httpService.getData().map((responseOfApi)=>{
if(!responseOfApi) return false
else return showDialogAndWaitForOk()
})
}
function 2: showDialogAndWaitForOk() {
dialog.open(header, msg).afterClosed().subscribe(()=>{return false})
}
函数1:getStatus():可观察{
httpService.getData().map((responseOfApi)=>{
如果(!responseOfApi)返回false
否则返回showDialogAndWaitForOk()
})
}
函数2:showDialogAndWaitForOk(){
dialog.open(header,msg).afterClosed().subscribe(()=>{return false})
}
问题:showDialogAndWaitForOk是一个订阅,即使它返回,也将返回订阅,但getStatus只需要返回布尔值

例如: 提示:点击点击点击api按钮-案例3从未更新-这就是问题所在-我想在案例3中显示对话框,然后更新案例3文本

你知道怎么做到吗

提前谢谢