Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用switchmap和forkjoin链接观测值未按预期工作angular typescript rxjs_Javascript_Angularjs_Typescript_Rxjs_Observable - Fatal编程技术网

Javascript 使用switchmap和forkjoin链接观测值未按预期工作angular typescript rxjs

Javascript 使用switchmap和forkjoin链接观测值未按预期工作angular typescript rxjs,javascript,angularjs,typescript,rxjs,observable,Javascript,Angularjs,Typescript,Rxjs,Observable,我正在创建一个系统,如果我成功地更新了一个请求,我会在forkjoin中触发3个观察值,然后一旦这些观察值完成,console.log('complete/or finish'),否则,如果它不是doNothin。目前,虽然在forkjoin完成之前,观测已经完成,我完全不知道发生了什么 copyAttachments():可观察{ 如果(this.model.attachments.length>0){ 返回此.attachmentService.copyAttachments(this.m

我正在创建一个系统,如果我成功地更新了一个请求,我会在forkjoin中触发3个观察值,然后一旦这些观察值完成,console.log('complete/or finish'),否则,如果它不是doNothin。目前,虽然在forkjoin完成之前,观测已经完成,我完全不知道发生了什么

copyAttachments():可观察{
如果(this.model.attachments.length>0){
返回此.attachmentService.copyAttachments(this.model.attachments,this.model.id);
}
返回空();
}
uploadAttachments():可观察{
this.showAttachmentsUploadingModal=true;
const formData=new formData();
如果(this.formAttachments.length>0){
this.showAttachmentsUploadingModal=true;
this.formAttachments.forEach(文件=>{
formData.append('files',file,file.name);
});
}
//上载空formData仍将触发默认文件夹结构的创建
返回此.attachmentService.uploadAttachments(formData,this.model.id);
}
uploadCustomerData():可观察{
this.showAttachmentsUploadingModal=true;
const formData=new formData();
如果(this.formCustomerData.length>0){
this.showAttachmentsUploadingModal=true;
this.formCustomerData.forEach(文件=>{
formData.append('files',file,file.name);
});
返回此.attachmentService.uploadCustomerData(formData,this.model.id);
}
返回空();

}
我发现这个问题的解决方案不是返回empty()或of(),而是需要返回一个空对象作为可观察对象,这样Forkjoin仍然保持值,所以返回({})和一切都很好

您的Forkjoin实际触发了吗?请记住,如果forJoin的任何内部观察值返回
empty()
(我看到复制附件会返回),forkJoin将不会触发