问题标签 [angular-httpclient-interceptors]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - 没有使用 angular6 调用 HTTP_INTERCEPTORS
我想在每个请求开始时实现加载器并在请求完成时隐藏加载器,我已经像这样实现了 HTTP_INTERCEPTORS
我已经像这样在app.module.ts中注册了 HTTP_INTERCEPTOR
但是当我进行 HTTP 调用时,拦截方法没有被调用,除此之外我还需要添加任何其他内容吗?我已经关注了这个博客,但我无法处理它
拦截方法正在启动,但是当做出响应或请求时,没有调用适当的方法。
例如
当我得到回复时,我想要
被执行
angular - HttpClient拦截器重试单元测试(预期没有打开请求,发现1)
我有一个简单的 HttpClient 拦截器,它只是重试失败的请求一定次数。现在,我正在尝试为它编写单元测试,但不知何故我最终得到了一个未完成的请求。我已经尝试将测试包装fakeAsync
或使用done
,但它似乎没有帮助。现在我没有想法。
我得到的错误是:
Error: Expected no open requests, found 1: GET mock/url
我错过了什么?
server-error.interceptor.ts
server-error.interceptor.spec.ts
angular - 无法将路由器注入 HttpInterceptor (Angular 7)
我想将 Angular 路由器注入到我的 HttpInterceptor 中。不幸的是,浏览器控制台中抛出了以下错误:
类型错误:this.router 未定义
我像往常一样将它添加到我的构造函数中:
此外,我在 app.module.ts 中的 providers 数组中执行了以下操作:
我想在我的错误处理程序的 if 语句中使用当前 url 来为不同的路由提供特定的功能:
我究竟做错了什么?
angular - Angular - 有没有办法将服务实例化推迟到应用程序异步初始化?
我有一个带有 HTTP 拦截器的 Angular 5 应用程序,它在拦截请求时调用另一个服务。
我想使用配置文件使服务可配置,因此我尝试使用在应用程序初始化期间异步加载配置的服务(使用APP_INITIALIZER挂钩)。
问题是,我要使用的服务在配置服务完成从配置文件加载配置之前被实例化。
有没有办法将服务实例化推迟到配置服务完成加载配置之后?
代码
您可以在stackblitz中查看完整示例。
最相关的部分如下:
拦截器.service.ts
注入-dependency.service.ts
初始化器.service.ts
app.module.ts
结果
angular-http - 链二请求并返回一个对象Angular 7
我有一个搜索与用户输入搜索匹配的通知的请求,但是每个匹配的通知都有一个 newsId 属性,当我从服务器收到通知时,我希望再次请求从 newsId 属性和之后搜索新闻 obj返回带有通知 obj 和新闻 obj 的 obj
}
}
angular - 实施 CanDeactivate Guard 时出错
我目前正在尝试对我的 Angular 应用程序实施 CanDeactivate Guard,该应用程序已经具有 HTTP 拦截器来解析身份验证。但是添加 CanDeactivate 防护会引发错误,如下所述。
我已经在 AppModule 的 providers 数组中注册了实现 CanDeactivate 接口的类。我已经在路由的 canDeactivate 属性中注册了实现 CanDeactivate 接口的类。
实现 CanDeactivate 接口的类:
应用了 Deactivate 防护的组件:
该端点的路由定义:
Module 中的 Providers 数组:
错误
angular - rxjs超时操作符可以触发函数而不是返回错误并取消http调用吗
我正在实现一个角度拦截器服务,它会查找错误并显示一个快餐栏,现在我正在尝试添加功能来处理“无互联网”或“慢速互联网”。我尝试使用超时运算符,但在超时后,HTTP 调用被取消,但我的要求是通知用户他们的互联网速度很慢,然后可能会在一段时间后取消,所以我需要超时运算符来触发一个函数而不是触发一个错误
这是我的代码
javascript - 如何有条件地向 app.module 添加拦截器?
我阅读了其他主题,但没有一个能反映我的问题。背景优先——我们有一个 Angular 应用程序,它在两种模式下工作——在第一种模式下,应用程序使用一个 API,而在第二种模式下——另一个。
这个,我想要实现的是只有在第二种模式下才有 Http 拦截器。
那么,有没有办法根据一些 APP_CONFIG 文件或环境道具有条件地添加 Http 拦截器?
我创建了一种 setInterceptors() 辅助函数,它根据条件将这些拦截器添加到提供程序数组,但在构建过程中失败并带有消息:
装饰器不支持函数调用
asp.net-core - ionic httpclient 在带有 net core 0 Unknown Error 的模拟器上不起作用”
我收到此错误,离子服务在浏览器中工作正常,但是当我运行 ionic cordova emulate android 或 ios 没有按预期工作时,我尝试获取另一个 url 并且另一个 url 正在工作(公共 api)但是我的服务器没有,我在网上搜索,它看起来像是一个 cors 问题,但我找不到解决方案。
这是我在 ionic 中使用 Angular 提供的 httpclient 服务:
这是我用于配置 cors 选项的 net core 2.1 启动;
angular - 如何在 Method intercept() Http Interceptor 中使用 setTimeout
我使用 HttpInterceptor 设置“承载令牌”标题以登录 Angular,当我登录服务器时返回一个令牌并将其保存在 Response 变量中,但我需要一个 Request 变量,这就是我使用 Intercept 的原因。
导航器中令牌为 Null 的图像我使用 Google Chrome
好吧,当我打印变量时,我发现问题我在令牌不存在时设置令牌,
截取打印令牌时的图像
当我正确使用 setTimeout 打印令牌但我不知道如何在方法拦截中使用时,我尝试了不同的方法来使用此方法,但是当我尝试添加它时,我不知道如何在方法拦截()中使用 setTimeout
当我使用 setTimeout 打印令牌时的代码
如何在方法 intercept() 中使用 setTimeout 我尝试保存变量但设置数字(6、5 或 9)我不知道该怎么做。