Javascript 使用web套接字的远程对象

Javascript 使用web套接字的远程对象,javascript,ecmascript-6,websocket,es6-proxy,Javascript,Ecmascript 6,Websocket,Es6 Proxy,是否有允许我通过web套接字调用远程对象的库 我的目标是能够像任何其他对象一样使用对象(设置/获取对象的属性、调用方法),但该对象实际上是web套接字上的代理,实际实例位于服务器上: const obj = new MyObject(); console.log(obj.prop); obj.prop = 1; obj.do(); 为了理解我的意思,我设想这样的库将使用ES6代理。当您需要低延迟连接和多个双向连接时,WebSocket非常有用(这意味着客户端可以向服务器发送数据,服务器可以多次

是否有允许我通过web套接字调用远程对象的库

我的目标是能够像任何其他对象一样使用对象(设置/获取对象的属性、调用方法),但该对象实际上是web套接字上的代理,实际实例位于服务器上:

const obj = new MyObject();
console.log(obj.prop);
obj.prop = 1;
obj.do();

为了理解我的意思,我设想这样的库将使用ES6代理。

当您需要低延迟连接和多个双向连接时,WebSocket非常有用(这意味着客户端可以向服务器发送数据,服务器可以多次向客户端发送数据)


当您需要获取和对象时,为什么需要使用WebSocket?不需要低延迟(除非对象很大),并且连接是一次性的(意思是:客户端请求对象,服务器发送对象,就这样)。

当您需要低延迟连接和多个双向连接时,WebSocket非常有用(意味着客户端可以向服务器发送数据,服务器可以多次向客户端发送数据)


当您需要获取和对象时,为什么需要使用WebSocket?不需要低延迟(除非对象很大),并且连接是一次性的(意思是:客户端请求对象,服务器发送对象,就这样).

您需要这样做的原因是什么?即使使用
WebSocket
,这仍然需要网络调用,因此您所展示的示例不会这样。当然您可以使用
代理进行网络调用,但不要期望它能像同步一样工作。@goto1您可能是对的,也许我想得太多了。另一方面另一方面,如果有一个库,它可以为您“代理”对象并执行所有远程调用,那就太好了。如果您是对的,像getter这样的同步调用将无法工作。但我觉得我所要求的仍然可以工作,即使它需要异步方法,您可以为
[[Get]]实现异步功能
[[Set]]
(以及一些其他陷阱),但有些地方不能进行异步调用,因为这会违反代理的不变量…需要这样做的原因是什么?即使使用
WebSockets
,这仍然需要网络调用,因此您展示的示例不会这样做。确保您可以使用
Proxy
进行网络调用,但不要花费太多时间让它像同步一样工作。@goto1你可能是对的,也许我想得太多了。另一方面,如果有一个它“代理”的库就好了对象为您提供并执行所有远程调用如果您是对的,那么像getter这样的同步调用将无法工作。但是我觉得我所要求的仍然可以工作,即使它需要异步的方法。您可以为
[[Get]]
[[Set]]]
(以及其他一些陷阱)实现异步功能,但有些地方不能进行异步调用,因为这会违反代理的不变量。。。