如何获取活动的aurelia获取ajax调用计数
当站点使用jquery/XMLhttp请求时,我们能够使用jquery.active在后端获得活动的ajax调用。但是,当站点使用aurelia fetch进行ajax调用时,如何获取后端中活动的fetch调用数?我在如何获取活动的aurelia获取ajax调用计数,aurelia,Aurelia,当站点使用jquery/XMLhttp请求时,我们能够使用jquery.active在后端获得活动的ajax调用。但是,当站点使用aurelia fetch进行ajax调用时,如何获取后端中活动的fetch调用数?我在fetch调用上有一个包装器,它在每次调用之前增加一个变量,然后在代码块中减少它。这似乎很有效 示例代码: getData(url) { // Http Fetch Client to retreive data (GET) this.apiCalls += 1; co
fetch
调用上有一个包装器,它在每次调用之前增加一个变量,然后在代码块中减少它。这似乎很有效
示例代码:
getData(url) {
// Http Fetch Client to retreive data (GET)
this.apiCalls += 1;
console.log("getData from API: " + url);
return this.httpClient.fetch(url, {
credentials: 'include'
}).then(response => {
this.apiCalls -= 1;
if (!response.ok) {
throw Error(response.statusText);
}
return response.json();
}).catch(error => {
this.apiCalls -= 1;
console.log(error);
return null;
});
}
为此,我创建了一个单例/全局值,然后使用配置客户端。在那里,您可以连接到所有请求/响应。在那里修改单例,并将单例导入到任何需要它的viewmodel中。fetch客户端和httpclient都支持这一点
let client = new HttpClient();
client.configure(x => {
x.withInterceptor({
request(message) {
singleton.activeConnections++;
return message;
},
response(message) {
singleton.activeConnections--;
return message;
}
});
});
你能分享一下吗。实际上,我正试图在一个aurelia网站上的selenium中使用它。但我无法在后端处理获取请求。尝试将javascript代码注入站点,但无法获取aurelia Fetch ajax count.Sure。我刚刚更新了我的回复。因此,我的所有页面都不直接调用fetch,而是调用这个getData()
例程,该例程进行调用,并通过将响应转换为json进行一些预处理(特定于我的上下文,可能对您没有帮助)。您可以随时检查apicall
,查看有多少呼叫处于活动状态。我还有另一个类似布局的postData()
并行例程。非常感谢。在我的组织中,开发团队还没有准备好添加包装器,是否有任何其他解决方法可以帮助在页面级别注入一些脚本并查找任何活动的获取调用/请求。使用XMLHTTP请求将此代码注入站点。(function(){var oldpopen=XMLHttpRequest.prototype.open;window.openHTTPs=0;XMLHttpRequest.prototype.open=function(方法、url、异步、用户、传递){window.openHTTPs++;this.addEventListener(“readystatechange”,function(){if(this.readyState==4){window openHTTPs--;},false);oldOpen.call(this,method,url,async,user,pass);}(XMLHttpRequest);是否也可以对获取请求执行类似的操作,以便在浏览器控制台中的任何时间点都可以获取正在处理的请求的计数。