Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用没有next.handle的角度拦截器

使用没有next.handle的角度拦截器
EN

Stack Overflow用户
提问于 2022-07-11 08:22:16
回答 1查看 119关注 0票数 0

正如我从角拦截器文档中了解到,next.handle()在完成HTTP请求后执行任务,所以我尝试使用没有next.handle()的拦截方法在执行HTTP请求之前运行代码

代码语言:javascript
运行
AI代码解释
复制
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
            if (!this.connectivityService.networkStatus.connected) {
                return throwError({message: 'error returned from interceptor'});
            }

    }

有没有可能在没有next.handle()的情况下使用角度拦截器?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-11 09:04:36

从你的评论中得到澄清的问题的解决办法如下:

代码语言:javascript
运行
AI代码解释
复制
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
            if (!this.connectivityService.networkStatus.connected) {
                return throwError({message: 'error returned from interceptor'});
            }
            next.handle();

    }

您可以在所有非错误场景中调用next.handle(),这样如果没有错误,http请求就会继续,但是会被错误条件打断。

您的拦截器是管道的一部分,它是由多个步骤组成的链,您可以使用next.handle()将进程转移到下一个步骤。这意味着您可以将需要在HTTP请求之前发生的代码放在next.handle()之前,也可以将代码放在需要在管道完成后发生的next.handle()之后。如果不调用next.handle,管道就会中断,不会发生。您将返回一个可观察到的throwError,以便这是管道的结束。在非错误场景中,它看起来有点像这样:

代码语言:javascript
运行
AI代码解释
复制
A {
  B {
    C {
      http happens
    }
  }
}

在错误场景中是这样的:

代码语言:javascript
运行
AI代码解释
复制
A {
  B {
    returns error value
  }
}

如果B是您的拦截器,以及AC管道的其他部分。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72941682

复制
相关文章
Java之方法重载篇(我重载了,你要如何来调用我。。)
4. ## 如何调用?    由课前引言中的示例可知,调用具有“重载关系”的方法时,传递的实参类型决定了所调用的方法。    当实参类型是整型,那么系统会相应的调用形参同样是整型的int square(int x)方法;当实参类型是浮点型,那么系统会相应的调用形参同样是整型的int square(double y)方法;    方法调用跟形参变量名(x,y)没有关系,与形参类型有关。
CN_Simo
2022/05/10
2750
Java之方法重载篇(我重载了,你要如何来调用我。。)
Android如何调用so文件
下面通过一个安卓调用C++代码打印字符串的实例介绍一下在Android Studio中使用最新的编译方式编译出so文件的步骤。
用户5521279
2020/03/05
10.6K0
Android如何调用so文件
【Android NDK 开发】JNI 方法解析 ( C/C++ 调用 Java 方法 | 函数签名 | 调用对象方法 | 调用静态方法 )
调用 jclass GetObjectClass(jobject obj) 或 jclass FindClass(const char* name) 方法 , 获取 jclass 类型变量 ;
韩曙亮
2023/03/27
8.6K0
【Android NDK 开发】JNI 方法解析 ( C/C++ 调用 Java 方法 | 函数签名 | 调用对象方法 | 调用静态方法 )
Android调用相机与相册的方法
Android调用相机与相册的方法 操作流程 点击拍摄 效果图 点击相册选择 效果图 拒绝权限的情况 效果图 功能实现 项目配置 1.先在项目根目录的build.gradle的repositories添加: 2.在build.gradle(:app)的dependencies添加: 3.添加提示dialog样式 4.添加底部dialog样式 底部dialog弹出动画(dialog_in_anim.xml) 底部dialog关闭动画(dialog_out_anim.xml) 5.添加权限 6.在Android
是阿超
2022/08/07
2K0
Android调用相机与相册的方法
Android如何调用摄像头
第一步必须加入调用摄像头硬件的权限,拍完照后我们要将图片保存在SD卡中,必须加入SD卡读写权限,所以第一步,我们应该在Android清单文件中加入以下代码
黄啊码
2020/05/29
1.5K0
android 从相册选择图片_android调用相册并显示图片
public class MainActivity extendsAppCompatActivity {int REQUEST_CODE = 0;privateNineGridImageView ngiv;private ArrayListphotos;privateDialog dialog;privatecn.com.jwtimes.www.jwtimes.mAdapter mAdapter1;
全栈程序员站长
2022/11/08
1.7K0
Spring杂谈 | 从桥接方法到JVM方法调用
这些代码对我之前也造成了不小疑惑,在彻底弄懂后通过本文分享出来,也能减少大家在阅读代码过程中的障碍!
程序员DMZ
2020/07/06
1.6K0
android-fragment-重新显示调用的方法
@Override public void onHiddenChanged(boolean hidden) { super.onHiddenChanged(hidden); if (!hidden) { getUserInfo(UserManager.getManager(getContext()).getUserId()); } }
tea9
2022/07/16
4070
AllJoyn+Android开发案例-android跨设备调用方法
项目需要涉及AllJoyn开源物联网框架。前面主要了解了一些AllJoyn基本的概念,像总线,总线附件,总线对象,总线接口这样的概念,以及之间的关系和跨设备、平台的调用功能。项目最终的目的实现是,跨平台的方法调用如:windows调用android,以及对于设备事件的订阅功能。
全栈程序员站长
2022/06/25
4480
AllJoyn+Android开发案例-android跨设备调用方法
java 异步调用方法_java异步调用方法有哪些?如何实现异步调用?
大家好,又见面了,我是你们的朋友全栈君。 你知道java异步调用方法都有哪些吗?下面的文章内容,就对这方面的问题做了一下整理,一起来看看java异步调用的方法吧! 1、利用Spring的异步方法去执行
全栈程序员站长
2022/09/14
4K0
如何通过反射调用对象的方法?
import java.lang.reflect.Method; class MethodInvokeTest { public static void main(String[] args) throws Exception { String str = "hello"; Method m = str.getClass().getMethod("toUpperCase"); System.out.println(m.invoke(str));
唐怀瑟
2018/08/30
2.9K0
Android JNI 调用时缓存字段和方法 ID
在 JNI 去调用 Java 的方法和访问字段时,最先要做的操作就是获得对应的类以及对应的方法 id。
音视频开发进阶
2019/07/26
1.1K0
点击加载更多

相似问题

如何从Android调用RESTful方法?

16

Android:如何从服务中调用方法

110

如何从android库类调用方法

43

如何从AngularJS指令调用Android方法?

12

android:如何从超链接调用方法

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档