Last active
February 1, 2018 14:05
-
-
Save ichiroku11/6d9a237fb9cfe0c80d82fc10a4af2fc6 to your computer and use it in GitHub Desktop.
RxJS do
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import * as Rx from "@reactivex/rxjs"; | |
| // doオペレータで値の流れを確認 | |
| Rx.Observable.of(1, 2, 3) | |
| .do(value => console.log(`do[of]: (value: ${value})`)) | |
| .filter(value => value % 2 == 0) | |
| .do(value => console.log(`do[filtered]: (value: ${value})`)) | |
| .map(value => value * 2) | |
| .do(value => console.log(`do[mapped]: (value: ${value})`)) | |
| .subscribe( | |
| value => console.log(`next: (value: ${value})`), | |
| error => console.log(`error: ${error}`), | |
| () => console.log(`complete:`)); | |
| // 実行結果 | |
| /* | |
| do[of]: (value: 1) | |
| do[of]: (value: 2) | |
| do[filtered]: (value: 2) | |
| do[mapped]: (value: 4) | |
| next: (value: 4) | |
| do[of]: (value: 3) | |
| complete: | |
| */ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import * as Rx from "@reactivex/rxjs"; | |
| // doオペレータの引数はsubscribeと同じ | |
| // completeコールバックも呼ばれる | |
| Rx.Observable.of(2) | |
| .do( | |
| value => console.log(`do.next: (value: ${value})`), | |
| error => console.log(`do.error: ${error}`), | |
| () => console.log(`do.complete:`)) | |
| .filter(value => value % 2 == 0) | |
| .subscribe( | |
| value => console.log(`subscribe.next: (value: ${value})`), | |
| error => console.log(`subscribe.error: ${error}`), | |
| () => console.log(`subscribe.complete:`)); | |
| // 実行結果 | |
| /* | |
| do.next: (value: 2) | |
| subscribe.next: (value: 2) | |
| do.complete: | |
| subscribe.complete: | |
| */ | |
| // errorコールバックも呼ばれる | |
| Rx.Observable.throw("いきなりエラー") | |
| .do( | |
| value => console.log(`do.next: (value: ${value})`), | |
| error => console.log(`do.error: ${error}`), | |
| () => console.log(`do.complete:`)) | |
| .filter(value => value % 2 == 0) | |
| .subscribe( | |
| value => console.log(`subscribe.next: (value: ${value})`), | |
| error => console.log(`subscribe.error: ${error}`), | |
| () => console.log(`subscribe.complete:`)); | |
| // 実行結果 | |
| /* | |
| do.error: いきなりエラー | |
| subscribe.error: いきなりエラー | |
| */ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment