Javascript 事件发生后如何执行rxjs请求?

Javascript 事件发生后如何执行rxjs请求?,javascript,angular,typescript,rxjs,Javascript,Angular,Typescript,Rxjs,我想执行rxjs请求: this.form.get('compact_addr').valueChanges.subscribe((value) => { this.searchByAddressParcel.search().subscribe((response) => { }); }); 它迫使我订阅外部观察者来执行内部观察。如何使用它的内联样式和取消请求,如果它是以前发送的?您想使用 大概是这样的: this.form.get('compact\u addr

我想执行rxjs请求:

this.form.get('compact_addr').valueChanges.subscribe((value) => {
    this.searchByAddressParcel.search().subscribe((response) => {
    });
});
它迫使我订阅外部观察者来执行内部观察。如何使用它的内联样式和取消请求,如果它是以前发送的?

您想使用

大概是这样的:

this.form.get('compact\u addr').valueChanges
.烟斗(
switchMap(()=>this.searchByAddressParcel.search())
)
.订阅((响应)=>{
//每当发出“searchByAddressParcel”时点击此处
});
您要使用的

大概是这样的:

this.form.get('compact\u addr').valueChanges
.烟斗(
switchMap(()=>this.searchByAddressParcel.search())
)
.订阅((响应)=>{
//每当发出“searchByAddressParcel”时点击此处
});

可以在触发链中的搜索操作之前添加一个
debounceTime(250),switchMap(()=>this.searchByAddressParcel.search())
。这有助于避免服务调用以搜索部分编辑。如果您愿意,也可以添加debounce。不过OP从未要求这样做。可能是在触发链中的搜索操作之前添加
debounceTime(250),switchMap(()=>this.searchByAddressParcel.search())
。这有助于避免服务调用以搜索部分编辑。如果您愿意,也可以添加debounce。但OP从未要求过。