介绍
rxjs是一种针对异步数据流的编程。简单来说,它将一切数据包装成流的形式,然后用强大丰富的操作符对流进行处理,能以同步编程的方式处理异步数据;类似于promise的超集
1.基本使用
import {observable} from 'rxjs'
let stream = new Observable(observer =>{
setTimeout(()=>{
observer.next('o-timeout');
},2000);
})
var n = stream.subscribe(value=>{console.log(value)});
类似于promise的用法 ,
new Promise(resolve=>{
setTimeout(()=>{
resolve("r-timeout");
},2000);
}).then(value=>{console.log(value)});
2.中途撤回
setTimeout(()=>{
n.unsubscribe()
},1000)
3.可以多次执行,可封装多次的异步方法数据
let stream2= new Observable(observer =>{
setInterval(()=>{
observer.next('o-timeout');
},2000);
})
4.强大丰富的操作符对数据进行处理
学好Rxjs的操作符是学会Rxjs的关键,熟练使用常用操作符可大大提高工作效率
streamData.pipe(
filter(value=>{
return value+1;
}
).subscribe(data=>{console.log(data)};