Angular的Http拦截器中的'next.handle”方法是否符合更新订阅到可观察对象?
创始人
2024-10-24 05:30:21
0

根据Angular文档的介绍,在拦截器中使用'next.handle()”方法会返回一个可观察对象,而不是一个订阅对象。因此,拦截器中的订阅对象无法直接更新到调用'next.handle()”方法后返回的可观察对象中。要想实现这一功能,需要将订阅对象转换为可观察对象。

代码示例:

@Injectable() export class MyInterceptor implements HttpInterceptor { constructor(private authService: AuthService) {}

intercept( req: HttpRequest, next: HttpHandler ): Observable> { const authReq = req.clone({ headers: req.headers.set('Authorization', this.authService.getAuthHeaderValue()) });

const subscription = next.handle(authReq).subscribe(
  event => {
    if (event instanceof HttpResponse) {
      console.log('HttpResponse received.');
      // do something with received response
    }
  },
  err => {
    console.error('HttpError:', err);
  }
);

// convert Subscription to Observable
const obs = new Observable(subscriber => {
  subscriber.add(subscription);
});

return obs;

} }

在以上的代码示例中,我们创建了一个Observable对象'obs”,并将Subscription对象'subscription”添加到其中,然后'obs”作为最终返回的可观察对象返回。这样一来,我们就可以更新订阅器中的数据到'obs”中,从而实现在拦截器中使用'next.handle()”方法时更新订阅数据的目的。

相关内容

热门资讯

来一盘!we poker辅助器... 来一盘!we poker辅助器v3.3(辅助挂)本来是真的有挂(有挂分享辅助插件)1)有没有挂:进一...
一分钟教会你!hh poker... 一分钟教会你!hh poker辅助器先试用(辅助挂)好像真的是有挂(有挂总结辅助app)1)辅助插件...
热点推荐!wepoker有人用... 热点推荐!wepoker有人用过吗(辅助挂)其实是真的有挂(真的有挂辅助教程)1、免费辅助多个强度级...
技术分享!哈糖大菠萝辅助器(辅... 技术分享!哈糖大菠萝辅助器(辅助挂)总是真的有挂(有人有挂辅助工具)是不是有人用挂微扑克wpk插件教...
必备攻略!拱趴大菠萝辅助神器(... 必备攻略!拱趴大菠萝辅助神器(辅助挂)一直是有挂(有挂方法辅助教程)1、超多福利:超高返利,海量正版...
揭秘真相!wpk辅助软件(辅助... 揭秘真相!wpk辅助软件(辅助挂)切实真的是有挂(有挂讲解辅助app)1、完成辅助器v3.3的残局,...
玩家亲测!pokemmo辅助器... 玩家亲测!pokemmo辅助器手机版下载(辅助挂)总是是有挂(有挂技巧辅助软件)进入游戏-大厅左侧-...
科技揭秘!hhpoker脚本下... 科技揭秘!hhpoker脚本下载(辅助挂)真是是有挂(有挂方法辅助工具)1、每一步都需要思考,不同水...
关于!wepoker安装教程(... 关于!wepoker安装教程(辅助挂)确实真的是有挂(新版有挂辅助软件)1、模拟器是什么优化,俱乐部...
玩家必看教程!wpk透视辅助方... 玩家必看教程!wpk透视辅助方法(辅助挂)其实是真的有挂(有挂教程辅助脚本)1、完成有辅助插件,帮助...