订阅 Angular 6
Subscribe Angular 6
toppings : Array
toppings2 : Array
我有 2 种订阅方法:
this.toppings.valueChanges.subscribe(val=> {
console.log(val);
}
this.toppings2.valueChanges.subscribe(val2=> {
console.log(val2);
}
我想在同一个函数中使用 val 和 val2。我怎样才能在同一个地方获得 val 和 val2? (或 val3= val+val2)
combineLatest 将为您提供最新版本的 toppings 和 toppings2。
https://www.learnrxjs.io/operators/combination/combinelatest.html
大理石图:http://rxmarbles.com/#combineLatest
示例:
import {combineLatest} from 'rxjs';
combineLatest(this.toppings.valueChanges, this.toppings2.valueChanges )
.subscribe( ([topping1val, topping2val]) => {
let topping3 = topping1val + topping2val;
});
zip
组合两个 observable 并等待它们都发出。 combineLatest 也可以,这并不重要
你需要,
zip(this.toppings.valueChanges, this.toppings2.valueChanges).subscribe(val => console.log(val[0] + val[1]))
toppings : Array
toppings2 : Array
我有 2 种订阅方法:
this.toppings.valueChanges.subscribe(val=> {
console.log(val);
}
this.toppings2.valueChanges.subscribe(val2=> {
console.log(val2);
}
我想在同一个函数中使用 val 和 val2。我怎样才能在同一个地方获得 val 和 val2? (或 val3= val+val2)
combineLatest 将为您提供最新版本的 toppings 和 toppings2。
https://www.learnrxjs.io/operators/combination/combinelatest.html
大理石图:http://rxmarbles.com/#combineLatest
示例:
import {combineLatest} from 'rxjs';
combineLatest(this.toppings.valueChanges, this.toppings2.valueChanges )
.subscribe( ([topping1val, topping2val]) => {
let topping3 = topping1val + topping2val;
});
zip
组合两个 observable 并等待它们都发出。 combineLatest 也可以,这并不重要
你需要,
zip(this.toppings.valueChanges, this.toppings2.valueChanges).subscribe(val => console.log(val[0] + val[1]))