什么是角4中可观察到的等价$ q?或Observable.forkJoin中的空数组

时间:2018-01-30 07:10:44

标签: angular rxjs observable

我想创建observable并返回其值。我有一个功能,它将一些文件逐个上传到服务器http post方法usig Observable.forkJoin 这是功能

uploadDocument(data): Observable<any> {
let arr = [];
for (var it in data) {
  let input = new FormData();
  input.append("file", data[it].value);
  let files;
  if (data[it].enabled && data[it].value && data[it].value instanceof File) {
    arr.push(this.http.post(environment.apiUrl + 'Upload/File', input))
  }
}
console.log(arr)
if(arr.length==0){
  this.spinner.hide()
}
return Observable.forkJoin(arr);
 }

我想做什么。如果array为空,我想返回带有空数组或obj的observable。 这是我的订阅功能

this.commonService.uploadDocument(this.DocsForm.controls)
  .subscribe(
           data=>{console.log(data)},
           error=>{console.log(error)}
    )

这里的数据是返回文件路径obj

的数组

1 个答案:

答案 0 :(得分:0)

forkjoin获取空数组并且没有调用subscribe所以我为空数组创建一个case并返回这样的空observable

  if(arr.length==0){
  this.spinner.hide()
  return Observable.of(null);
}