如何在javascript中获取所有待处理的http请求?

2024-03-04

javascript 或 angular2 有没有办法

获取待处理的 http 请求列表?

目标是启动“其他几个进程”

根据这个榜单的波动。

是否存在类似可访问的请求堆栈之类的东西?

Thanks.


事实上你可以扩展Http类来拦截请求执行。

import {Injectable} from 'angular2/core';
import {Http,ConnectionBackend,RequestOptions,RequestOptionsArgs,Request} from 'angular2/http';
import 'rxjs/Rx';
import {MonitoringService} from './monitoring.service';

@Injectable()
export class CustomHttp extends Http {
  constructor(backend: ConnectionBackend,
              defaultOptions: RequestOptions,
              private monitoring:MonitoringService) {
    super(backend, defaultOptions);
  }

  request(url: string | Request, options?: RequestOptionsArgs): Observable<Response> {
    console.log('request...');
    return super.request(url, options);
  }

  get(url: string, options?: RequestOptionsArgs): Observable<Response> {
    console.log('get...');
    return super.get(url, options);
  }

  (...)
}

您可以利用finally运算符来拦截与 HTTP 请求相对应的可观察量的完成情况。您可以在调用之前增加属性并在调用中减少它finally操作员。

get(url: string, options?: RequestOptionsArgs): Observable<Response> {
  this.monitoring.pendingRequestsNumber++;
  return super.get(url, options).finally(() => {
    this.monitoring.pendingRequestsNumber--;
  });
}

This CustomHttp类可以这样注册。我添加了一个监视服务来存储(和共享)待处理请求的数量:

import {bootstrap} from 'angular2/platform/browser';
import {provide} from 'angular2/core';
import {HTTP_PROVIDERS,Http,XHRBackend,RequestOptions} from 'angular2/http';
import {AppComponent} from './app.component';
import {CustomHttp} from './http.custom';
import {MonitoringService} from './monitoring.service';

bootstrap(AppComponent, [HTTP_PROVIDERS,
  MonitoringService,
  provide(Http, {
    useFactory: (backend: XHRBackend, defaultOptions: RequestOptions, monitory:MonitoringService) => new CustomHttp(backend, defaultOptions, monitory),
    deps: [XHRBackend, RequestOptions, MonitoringService]
  })
]);

我创建了一个 plunkr 来描述实现这种方法的方法:https://plnkr.co/edit/qHNn5amI0byci9RMkZyE?p=preview https://plnkr.co/edit/qHNn5amI0byci9RMkZyE?p=preview.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在javascript中获取所有待处理的http请求? 的相关文章

  • 如何通过aws-sdk(javascript或node)获取s3存储桶大小

    我尝试使用 javascript nodejs aws sdk 查找 获取 s3 存储桶信息 但没有找到这样的 api 如何通过 aws sdk javascript 或 node api 获取 s3 存储桶大小 信息 每天一次向 Clou
  • 使用 npm 作为构建工具连接文件

    我最近发现我可以使用 npm 作为任务运行程序 而不是 gulp 或 grunt 到目前为止 一切都很棒 lint stylus jade uglify watch 等 但串联部分 我似乎无法实现 gulp 是这样的 gulp task s
  • Python Requests 库重定向新 url

    我一直在浏览 Python 请求文档 但看不到我想要实现的任何功能 在我的脚本中我设置allow redirects True 我想知道该页面是否已重定向到其他内容 新的 URL 是什么 例如 如果起始 URL 为 www google c
  • 缓存 firestore 中 get 的第一个实现

    我希望 firestore 每次都先从缓存中获取数据 根据 Firestore 文档 传递 缓存 或 服务器 选项必须启用相同的功能 下面的例子 db collection cities where capital true get cac
  • ngx-DataTable 对列进行排序无法正常工作 Angular 4

    虽然我对角度非常陌生 但我在使用 ngx DataTable 时遇到了一些困难 我使用简单的 ngx DataTable 进行简单的操作 问题出在列上 尽管我已将 attr 声明为 sortable true 但排序不起作用 这是代码 表定
  • 如何在提交表单之前删除自动数字格式?

    我正在使用 jQuery 插件自动数字 http www decorplanit com plugin 但是当我提交表单时 我无法删除之前字段上的格式POST 我尝试使用 input autonumeric destroy 和其他方法 但它
  • 光滑的旋转木马不工作

    我一直在尝试简单地实现 Slick Carousel 的工作 我已按照 Git 页面上的说明进行操作 https github com kenwheeler slick https github com kenwheeler slick 这
  • 如何在 PHP 中使用 file_get_contents 获取图像的 MIME 类型

    我需要获取图像的 MIME 类型 但我只有图像的正文file get contents 是否有可能获取 MIME 类型 是的 你可以这样得到它 file info new finfo FILEINFO MIME TYPE mime type
  • jQuery 检查复选框并触发 javascript onclick 事件

    我正在尝试使用 jQuery 检查复选框并在此过程中触发 onclick 事件 假设我在 html 中定义了一个复选框
  • 更新 Google 地图流量层而无需重新加载页面

    我的页面中嵌入了 Google 地图 我使用 initMap js 函数来初始化地图 function initMap var map new google maps Map document getElementById t map zo
  • 在 php、ajax 或 javascript 中加载进度?

    任何人都知道如何在系统仍在服务器端获取数据的同时在客户端显示加载进度以及完成的百分比 例如 当我在客户端按下 确定 按钮时 它会调用服务器端从数据库收集数据 整个过程可能需要2到3分钟 如何在客户端显示加载进度 大约加载完成了多少 我怎样才
  • 更改时触发跨度文本/html

    jQuery 或 JavaScript 中是否有任何事件在以下情况下触发span标签 text html 已更改 Code span class user location span user location change functio
  • 无法在渲染器进程中使用 Node.js API

    无法在 Electron 中使用任何与 Electron 或节点相关的操作 未定义获取错误过程 我检查了他们指导添加节点支持的各个地方 但这已经完成了 所以卡在这里 我的主要应用程序代码是 const electron require el
  • 由于固定导航,增加了 FancyBox v2 的顶部和底部边距

    我目前正在开发一个网站 该网站将来将具有响应能力 该网站主要由图像组成 单击这些图像会加载到 FancyBox 中 FancyBox v2 现在具有响应能力 因此可以在屏幕尺寸发生变化时重新调整图像等的大小 作为我设计的一部分 我有两个固定
  • ReferenceError 和全局对象

    在浏览器中的 JavaScript 中window是全局对象 这意味着在全局范围内定义的每个变量都是window 那么为什么我会得到这个结果 console log window foo No error logs undefined co
  • PhantomJS 网页内存消耗?

    是否有一种编程方式 因为我想在运行时自动执行 方式来查看网页在通过 PhantomJs 运行时使用了多少内存 我也在使用 casperjs 如果这有帮助的话 我已经搜索了很多但没有找到任何方法 PhantomJs 使用 QtWebKit 因
  • 如何修复 getImageData() 错误画布已被跨源数据污染?

    我的代码在本地主机上运行得很好 但在网站上却不起作用 我从控制台收到此错误 对于这一行 getImageData x y 1 1 data Uncaught SecurityError Failed to execute getImageD
  • 如何使用 Jest 测试对象键和值的相等性?

    我有一个mapModule我在其中导入组件并导出它们 import ComponentName from components ComponentName export default name ComponentName 我该如何测试ma
  • 在 JSP 或 Javascript 中清除浏览器缓存中的图像

    我正在为一所大学开发JSP Web 应用程序 用户页面中显示人员图片 用户注销后如何从网络浏览器缓存中清除这张图片 使用 JSP 或 JavaScript 那是不可能的 最好的选择是完全禁用相关资源的缓存 创建一个filter https
  • 使用 JQuery 预填充选择字段的下拉选项验证

    我有这个 JQuery 片段来防止选择已在另一个字段中选择的下拉选项 var coll select name service on change function coll each function var val this value

随机推荐

  • CodeIgniter Active Record 一次删除多条记录

    这是我的控制器功能之一 它从名为 users 的数据库表中获取所有行并将其放入数组中 然后它加载一个名为 deleteuser 的视图以及传递的数组数据 function deleteuser this gt load gt model u
  • 如何使用鼠标手动放置 networkx 节点?

    我有一个相当大且混乱的节点网络 我希望尽可能整齐地显示它 This is how it s currently being displayed 首先 我尝试调整布局 看看它是否可以自动生成良好的输出 我尝试了许多不同的 nx 布局 但它们都
  • 谷歌应用程序引擎Python第一次上传应用程序

    我第一次尝试上传我的应用程序引擎项目 但我不知道为什么它不起作用 我的终端的错误是 me Desktop appcfg py update ProjectDir Application tacticalagentz version 1 Ho
  • 运行脚本来重命名 txt 文件中的几个单词

    我需要你的帮助 我的目录 文件夹 中有一个 txt 文件 需要运行脚本来重命名几个单词 例如 其中 LX4XAB 到 LX4xab XS3X44 到 Xs3x44 在哪里 另一个词 直到最后用另一个名称保存文件 你能帮助我吗 谢谢 干得好
  • Node 中express.js 和 axios.js 的区别

    我们使用axios来进行get post等http请求 我们也出于同样的目的使用快递 然而 根据我读到的内容 它们有不同的目的 请解释一下如何 PS 如果能举例说明就太好了 你可以将express js视为一个仓库 app get item
  • 从 LinkedHashMap 中检索值

    我有一个看起来像这样的对象 test1 get tags restcalls test2 put tags restcalls 我正在检索上面的对象 如下所示 HashMap json new ObjectMapper readValue
  • Java 2D 图像调整大小忽略双三次/双线性插值渲染提示(OS X + linux)

    我正在尝试使用 Image Voodoo 插件在 JRuby Rails 应用程序中为上传的图像创建缩略图 问题是调整大小的缩略图看起来像 屁股 似乎生成缩略图的代码绝对正确地执行了所有操作 将插值渲染提示设置为 双三次 但在我们的开发环境
  • 什么是 Firebase 远程配置开发者模式

    我正在将 Firebase 远程配置添加到应用程序中 但我对其用途感到困惑 setMinimumFetchIntervalInSeconds setDeveloperModeEnabled true false 文档讨论了开发人员模式 但我
  • 应用程序加载器:错误 ITMS-90502

    我正在尝试将新版本上传到 TestFlight 但应用程序加载器给出以下错误 错误 ITMS 90502 无效捆绑包 仅包含 arm64 的应用程序 切片列表中还必须有 arm64 Info plist 中的 UIRequiredDevic
  • MappedSuperclass - 更改子类中的 SequenceGenerator

    我将 JPA2 与 Hibernate 结合使用 并尝试为我的实体引入一个公共基类 到目前为止看起来是这样的 MappedSuperclass public abstract class BaseEntity Id private Long
  • iOS:在 swift 中将 UnsafeMutablePointer 转换为 String?

    正如标题所说 在 swift 中将 UnsafeMutablePointer 转换为 String 的正确方法是什么 lets say x UnsafeMutablePointer
  • 从 opening_hours 获取一天 Google 自动完成 API

    我需要从餐厅营业时间 自动完成 api 获取一天 我可以获得开放和关闭时间 但无法获得日期 这是我的代码 if place openingHours periods nil let period place openingHours per
  • 是否可以仅使用 C++ 制作 iPhone 应用程序? [复制]

    这个问题在这里已经有答案了 可能的重复 在 iOS 和 Mac OS X 应用程序中使用 C https stackoverflow com questions 8759573 utilizing c in ios and mac os x
  • Miniconda3:在当前 win-32 通道中找不到软件包匹配问题

    我一直在遵循如何安装 Miniconda3 并使用它来安装不同软件包的指南NumPy and SciPy 然而 安装 Miniconda3 并在 PyCharm 中打开一个新项目后 指南告诉我应该写 conda install numpy
  • C# 属性修改方法

    全部 也许我在谷歌上搜索得不够 但我找不到关于这个问题的任何例子 在 C 中是否可以创建一个自定义属性 该属性应用于类并修改其所有方法 例如 添加Console WriteLine Hello i m modified method 作为第
  • 如何仅在安装(而不是卸载)中执行自定义操作

    我确信这相当容易 但我有点困难 我有一个自定义操作 可以在安装时执行不同的 非 msi 安装程序 不幸的是 我注意到它还在卸载时执行安装程序 我已经查看了这些选项 但我似乎无法找到如何阻止这种情况 如果有人能帮助我 我将非常感激 另外 如何
  • SWI-Prolog 中的可逆谓词和字符串

    append 3是一个非常强大的谓词 假设我想要一个以相同方式工作但针对 SWI Prolog 字符串的谓词 我看到的最简单的方法是将这些字符串转换为列表string codes 2 然后应用append 3 然后使用string code
  • Pandoc md 到 pdf:在分页之前插入图像时保持顺序

    正如标题所述 我的问题是关于 pandocs md 到 pdf 的 当我像这样转换降价时 Title text that is about a 3 4 page image that is too large to fit page ima
  • 关于 GWT 中 MVP 的问题。 (总体概述)

    你们中的任何人都可以对 MVP 模式在 GWT 应用程序中的使用给出一个很好的解释吗 我看过的任何示例 我发现很难理解实现该模式的概念 诸如这是什么之类的问题 它实现了什么 它是如何实施的 以及如何扩展它以适应未来的修改 http code
  • 如何在javascript中获取所有待处理的http请求?

    javascript 或 angular2 有没有办法 获取待处理的 http 请求列表 目标是启动 其他几个进程 根据这个榜单的波动 是否存在类似可访问的请求堆栈之类的东西 Thanks 事实上你可以扩展Http类来拦截请求执行 impo