在Angular中,要在Subject发出值后订阅,可以使用rxjs中的take()操作符。take()操作符允许我们仅获取第一个值并自动完成订阅。在这个例子中,我们创建一个Subject实例,并使用next()方法发出两个不同的值。然后我们使用take()操作符进行订阅,只获取第一个值。
代码示例:
import { Component, OnInit } from '@angular/core'; import { Subject } from 'rxjs';
@Component({
selector: 'app-subject-demo',
template:
})
export class SubjectDemoComponent implements OnInit {
mySubject = new Subject();Subject Demo
ngOnInit() { this.mySubject.next(1); this.mySubject.next(2); this.mySubject.take(1).subscribe((res) => { console.log(res); // 输出第一个值1 }); } }