Files
api/docs/examples/rx/04_unsubscribe/index.js
T
James Lefrère e7f488ed89 Fixes for examples (#1408)
* Add various fixes for the examples
* Add the workaround for proposals for `impl_version` 94
* TODO: fix `toPromise` issue for queries with RxJS
2019-09-20 10:15:46 +02:00

29 lines
866 B
JavaScript

/* eslint-disable @typescript-eslint/require-await */
/* eslint-disable @typescript-eslint/unbound-method */
/* eslint-disable @typescript-eslint/no-var-requires */
// Import the API
const { ApiRx } = require('@polkadot/api');
const { switchMap } = require('rxjs/operators');
async function main () {
// Create a new instance of the api
// Subscribe to chain updates and log the current block number on update.
const subscription = new ApiRx().isReady
.pipe(
switchMap((api) =>
api.rpc.chain.subscribeNewHeads()
))
.subscribe((header) => {
console.log(`Chain is at block: #${header.number}`);
});
// In this example we're calling the Overvables unsubscribe() //
// function after 20s.
setTimeout(() => {
subscription.unsubscribe();
console.log('Unsubscribed');
}, 20000);
}
main().catch(console.error);