|
@@ -1,3 +1,26 @@
|
|
|
# Async WS:
|
|
|
|
|
|
-node js, web socket, promises and generator sample
|
|
|
+Almost mirror sample of:
|
|
|
+
|
|
|
+Catching data from `Stream` or `WebSocket` and pass it as generated
|
|
|
+sequence of `Promise`s, which can be handled by pseudo synchronous
|
|
|
+`for ... of` or `for await ... of`
|
|
|
+
|
|
|
+For solve this `Promise` with __outside control__ used. It needed
|
|
|
+because data passed many times to stream ondata/onmessage/onchunk/onfuckingsomethingelse,
|
|
|
+not only once as in `Promise` callback.
|
|
|
+
|
|
|
+So, promises should be resolved from chunk event outside of
|
|
|
+closure, where resolve and reject accessible.
|
|
|
+
|
|
|
+When chunk becomes, it saved into chunks queue, and if promise
|
|
|
+for that chunk are already yielded, it resolves
|
|
|
+
|
|
|
+When promise yielding outside of generator, if chunk for this promise
|
|
|
+already saved in queue, promise resolves with data of that chunk
|
|
|
+
|
|
|
+So, generated promises gives ability to handle stream in imperative
|
|
|
+manner if `for of` loop with `await`.
|
|
|
+
|
|
|
+Than, recieved messages passed as JSON with some RPC function call
|
|
|
+with params
|