JS `WebSocketStream` (提案):基于 Web Streams 的 WebSocket 封装

各位观众老爷,大家好!今天咱们来聊聊一个新玩意儿,一个让 WebSocket 变得更现代、更灵活的家伙—— WebSocketStream。 别害怕,名字听起来高大上,其实就是给 WebSocket 穿了件 Web Streams 的马甲,让它变得更性感了。 WebSocket 的老问题: WebSocket,咱们的老朋友了,实时通信的扛把子。 但用着用着,总觉得哪里不对劲。传统的 WebSocket API 用起来有点笨拙,尤其是处理二进制数据的时候,回调函数嵌套回调函数,简直就是回调地狱。而且,它和 Web Streams 这对“天作之合”总是差了那么临门一脚。 Web Streams:数据的流水线 先简单回顾一下 Web Streams。你可以把 Web Streams 想象成一条数据流水线。数据像水流一样,从一个地方流向另一个地方,中间可以经过各种处理环节。它主要有三种类型: ReadableStream: 数据的来源,可以从中读取数据。 WritableStream: 数据的目的地,可以向其中写入数据。 TransformStream: 数据转换的环节,可以对数据进行处理。 …