gpt4 book ai didi

javascript - 从 HttpInterceptor 显示模式对话框

转载 作者:行者123 更新时间:2023-12-03 08:40:59 25 4
gpt4 key购买 nike

@Injectable()
export class MyInterceptor implements HttpInterceptor
{
intercept(req : HttpRequest<any>, next : HttpHandler) : Observable<HttpEvent<any>>
{
//show a modal dialog to hold the request until user respond/close the dialog
if(ShowModalDialog())
{
return next.handle(req);
}
else
{
//route to login
}
}
}

我尝试显示一个 Angular Material 对话框,但它不会阻止请求,并且会继续执行下一行。

我需要知道如何在出现请求错误响应时从拦截器显示模式对话框,向用户显示一些选项并在对话框关闭后恢复执行。

是否可以使用此类对话框停止/保留请求?

最佳答案

您可以使用 Angular Material 对话框来完成此操作:

@Injectable()
export class MyInterceptor implements HttpInterceptor {
constructor(private dialog: MatDialog, private router: Router) {}

intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
if(ShowModalDialog()) {
return this.dialog.open(DialogModalComponent).afterClosed().pipe(
concatMap(() => next.handle(req))
);
} else {
return next.handle(req);
}
}
}

关于javascript - 从 HttpInterceptor 显示模式对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62782676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com