使用示例

并发请求

并发多个请求,等待所有请求都结束后才执行回调相当于 Promise.all()

import { Rjax } from 'rjax';
import { combineLatest } from 'rxjs';

// 创建实例
const rjax = new Rjax();

const p1$ = rjax.get(`/user/12345`);
const p2$ = rjax.get(`/user/123456`);

combineLatest(p1$, p2$).subscribe(([res1, res2]) => {
    // 请求成功回调
    console.log(res1); // p1$ 的请求结果
    console.log(res2); // p2$ 的请求结果
}, error => {
    // 请求失败回调
    console.log(error);
});

多数据源合并

例如某个图表的数据来源于websocket和ajax手动请求,返回格式是一样的,可以将这两个数据流进行合并创建新的Observable,组件只要订阅合并后的数据流而不关心数据的来源

import { Rjax } from 'rjax';
import { merge } from 'rxjs';
import { webSocket } from 'rxjs/webSocket';

const rjax = new Rjax();

const ws$ = webSocket('wss://echo.websocket.org'); // websocket
const ajax$ = rjax.get(`/user/12345`); // ajax

// 合并数据流
merge(ws$, ajax$).subscribe(res => {
    console.log(res)
}, err => console.log('请求出错'));