如何把两个promise 请求合并成一个 observer
时间: 2024-01-31 08:04:43 浏览: 77
设计模式之11个行为型模式
可以使用 RxJS 的 combineLatest 操作符来把两个 Promise 请求合并成一个 Observable。具体步骤如下:
1. 定义两个 Promise 请求。
```javascript
const promise1 = new Promise((resolve) => {
setTimeout(() => {
resolve('result1');
}, 1000);
});
const promise2 = new Promise((resolve) => {
setTimeout(() => {
resolve('result2');
}, 2000);
});
```
2. 把两个 Promise 请求转换为 Observable。
```javascript
const observable1 = from(promise1);
const observable2 = from(promise2);
```
3. 使用 combineLatest 操作符把两个 Observable 合并为一个。
```javascript
combineLatest([observable1, observable2]).subscribe(([result1, result2]) => {
console.log('result1:', result1); // 输出:result1
console.log('result2:', result2); // 输出:result2
});
```
这样,就可以把两个 Promise 请求合并成一个 Observable,并且在两个请求都完成后,通过 subscribe 方法获取到两个请求的结果。
阅读全文