Angular 角度6传递参数穿透效应rxjs
您好,如何将有效负载参数从mergeMap传递到switchMap? 我在clientservice.CheckValidName中使用它,但希望将其传递到sendMessage(数据,有效负载[1]) 我尝试了很多东西,但都不管用。(另一个mergemap或映射CheckValidName的结果以注入有效负载)Angular 角度6传递参数穿透效应rxjs,angular,rxjs6,Angular,Rxjs6,您好,如何将有效负载参数从mergeMap传递到switchMap? 我在clientservice.CheckValidName中使用它,但希望将其传递到sendMessage(数据,有效负载[1]) 我尝试了很多东西,但都不管用。(另一个mergemap或映射CheckValidName的结果以注入有效负载) )) 您可以将其作为mergeMap响应的一部分返回-这就是您在管道中丢失它的原因: mergeMap([payload, client] => { // now we ha
)) 您可以将其作为mergeMap响应的一部分返回-这就是您在管道中丢失它的原因:
mergeMap([payload, client] => {
// now we have it, and after returning clientServiceCheck, we lose the reference to it
return this.clientService(checkValidname(client, payload));
})
.map(result => result.data)
相反,您希望同时返回结果和数据,大致如下所示:
mergeMap([payload, client] => {
// now we have it, and after returning clientServiceCheck, we lose the reference to it
return mergeMap(() => [
of(payload)
this.clientService(checkValidname(client, payload)),
]);
})
.map([payload, result] => {
// now we have both
})
您可以将其作为mergeMap响应的一部分返回-这就是您在管道中丢失它的原因:
mergeMap([payload, client] => {
// now we have it, and after returning clientServiceCheck, we lose the reference to it
return this.clientService(checkValidname(client, payload));
})
.map(result => result.data)
相反,您希望同时返回结果和数据,大致如下所示:
mergeMap([payload, client] => {
// now we have it, and after returning clientServiceCheck, we lose the reference to it
return mergeMap(() => [
of(payload)
this.clientService(checkValidname(client, payload)),
]);
})
.map([payload, result] => {
// now we have both
})
ok将使用此解决方案更新我的问题,但它会导致一个奇怪的错误消息类型“OperatorFunction”不可分配给类型“ObservableInput”。类型“OperatorFunction”不可分配给类型“Iterable”。类型“OperatorFunction”中缺少属性“[Symbol.iterator]”。我可能是语法错误,或者是管道/操作符的确切顺序,在手机上键入可以帮您解决这个问题。我回家后会看的。ok会用这个解决方案更新我的问题,但它会给我带来一个奇怪的错误消息类型“OperatorFunction”不能分配给类型“ObservableInput”。类型“OperatorFunction”不可分配给类型“Iterable”。类型“OperatorFunction”中缺少属性“[Symbol.iterator]”。我可能是语法错误,或者是管道/操作符的确切顺序,在手机上键入可以帮您解决这个问题。我到家后再看。