如何修复websocket打开后发出的挂起XHR请求?

如何修复websocket打开后发出的挂起XHR请求?,websocket,electron,chromium,angular-httpclient,Websocket,Electron,Chromium,Angular Httpclient,我正在开发一个应用程序,它使用Electron,Angular作为前端,node/express作为后端。对于实时更新,我使用websocket连接,其他任何东西都是JSON Api,在同一服务器套接字上进行HTTP调用 当我打开我的应用程序时,它会建立一个websocket连接,然后可以访问HTTP调用,但有时HTTP请求会保持挂起状态,因为它们使用与websocket连接相同的连接ID 我无法发布图像,因此只有到DevTools网络输出的链接: () “websocket”连接到另一个端口

我正在开发一个应用程序,它使用Electron,Angular作为前端,node/express作为后端。对于实时更新,我使用websocket连接,其他任何东西都是JSON Api,在同一服务器套接字上进行HTTP调用

当我打开我的应用程序时,它会建立一个websocket连接,然后可以访问HTTP调用,但有时HTTP请求会保持挂起状态,因为它们使用与websocket连接相同的连接ID

我无法发布图像,因此只有到DevTools网络输出的链接: ()

“websocket”连接到另一个端口 连接“localhost”是指向localhost:8080的websocket get_芯片是对localhost:8080/get_芯片的http客户端调用

正在工作的
get\u芯片调用是测试
AllowOrigin
的调用。。。“飞行前”

有时在websocket重新连接(仍然是ConnectionID 0)之后,http客户端调用使用其他ID,然后开始工作

electron的版本为4.2.2

angular在8.2.2版中

角度服务使用:

从'@angular/core'导入{Injectable};
从“@angular/common/http”导入{HttpClientModule,HttpClient};
.....
构造函数(专用http:HttpClient){
this.wsConn=newwebsocket('ws://localhost:8080',['soap','xmpp']);
}
....
this.http.post('http://localhost:8080/get_chip,数据)。toPromise()。然后((结果)=>{
控制台日志(结果);
});
我认为这与服务器端无关。。。。但这是基本的初始化代码:

从“express”导入*为express;
从“主体解析器”导入*作为主体解析器;
从“ws”导入*作为WebSocket;
常量app=express();
让server=app.listen(config.server.port);
const wss=new WebSocket.Server({Server});

有没有办法强迫Chrome/Electron不使用WebSocket使用的挂起连接?

好的,我想我误解了Chrome中的暂停状态。这可能意味着什么。。。。。Chrome启动TCP连接并发送请求。开发工具中仍然没有连接ID。因为我的服务器应用程序中有一个Bug,所以从来没有回复过。所以当Chrome实际处于等待状态时,在经历了暂停、DNS查找、初始连接、发送请求之后,它仍然显示为暂停。Chrome更新状态,开始“内容下载”