@@ -23,7 +23,6 @@ const observable = new Observable(({ next, complete }) => {
2323 () => (++ count < 5 ? next (count) : complete (count)),
2424 0
2525 );
26-
2726 return () => clearInterval (timer);
2827});
2928
@@ -36,22 +35,39 @@ const observable = new Observable(({ next, complete }) => {
3635
3736### Enhance Run-time platforms
3837
38+ #### Transform events
39+
3940``` javascript
4041import { Observable } from ' iterable-observer' ;
4142
4243const reader = new FileReader (),
43- {
44- files: [file]
45- } = document .querySelector (' input[type="file"]' );
44+ { files } = document .querySelector (' input[type="file"]' );
4645
47- reader .readAsBlob (file );
46+ reader .readAsBlob (files[ 0 ] );
4847
4948(async () => {
5049 for await (const { loaded } of Observable .fromEvent (reader, ' progress' ))
5150 console .log ((loaded / file .size ) * 100 + ' %' );
5251})();
5352```
5453
54+ #### Transform streams
55+
56+ ``` typescript
57+ import { Observable } from ' iterable-observer' ;
58+
59+ (async () => {
60+ const { body } = await fetch (' https://example.com/path/to/blob' ),
61+ chunks: Uint8Array [] = [];
62+
63+ for await (const chunk of Observable .fromStream (body )) chunks .push (chunk );
64+
65+ const blob = new Blob (chunks );
66+
67+ console .log (blob );
68+ }();
69+ ` ` `
70+
5571### Concurrent Task to Serial Queue
5672
5773` ` ` javascript
@@ -63,11 +79,8 @@ const { process, observable } = createQueue(),
6379 app = new Koa ();
6480
6581(async () => {
66- for await (const {
67- defer: { resolve },
68- data
69- } of observable)
70- resolve (JSON .stringify (data));
82+ for await (const { defer, data } of observable )
83+ defer .resolve (JSON .stringify (data ));
7184})();
7285
7386app .use (BodyParser )
0 commit comments