的无依赖浏览器客户端 DarkWS 服务器:输入请求,广播订阅,带回退的重新连接,心跳, 选择加入重试,以及自动会话恢复。ESM与TypeScript声明。
npm install darkws
import DarkWs, { ErrorResponse } from "darkws";
const client = new DarkWs({
secure: location.protocol === "https:",
path: "/ws",
authenticationToken: () => auth.accessToken(),
}).connect();
const user = await client.request<User>("user:get", { id: "42" });
const unsubscribe = client.onAction<User>("user:updated", updated => render(updated));
try {
await client.request("user:delete", { id: "42" });
} catch (error) {
if (error instanceof ErrorResponse) console.warn(error.message); // the server's error code
}
unsubscribe();
client.dispose();
有关首次使用时创建的应用程序范围的客户端,请参见 DarkWs.lazy()。
文档
- 浏览器客户端:请求, 超时、重试、事件、身份验证、生命周期、选项
- 协议和客户端生命周期契约
- Документация на русском