UNPKG

openchain-sdk-yxl-ts

Version:

OpenChain SDK for browser

44 lines (40 loc) 1.15 kB
// // 浏览器WebSocket适配器 // class BrowserWebSocket { // constructor(url, protocols) { // if (typeof window === 'undefined' || !window.WebSocket) { // throw new Error('WebSocket is not supported in this environment'); // } // this.ws = new WebSocket(url, protocols); // this.ws.binaryType = 'arraybuffer'; // } // // 代理原生WebSocket的事件处理 // on(event, callback) { // switch (event) { // case 'open': // this.ws.onopen = callback; // break; // case 'message': // this.ws.onmessage = (event) => callback(event.data); // break; // case 'close': // this.ws.onclose = callback; // break; // case 'error': // this.ws.onerror = callback; // break; // } // return this; // } // // 发送数据 // send(data) { // this.ws.send(data); // } // // 关闭连接 // close(code, reason) { // this.ws.close(code, reason); // } // } // // 导出构造函数作为默认导出 // export default function WebSocket(url, protocols) { // return new BrowserWebSocket(url, protocols); // }