관찰 가능 항목 forkJoin
을 사용하고 있지만 observables에서 인수를 전달하는 데 문제가 있습니다. 가치가 코드의 라인 천개의 단어 :옵저버블 배열에 인수 전달
for(var key in pdfObjects){
let pdf = {pdfObjects[key]};
observables.push(new Observable(observer => {
this.createPDF(pdf).subscribe((pdfFile) => {
// Do something with my pdfFile
observer.complete();
})
})
}
Observable.forkJoin(observables).subscribe(
(next) => {},
(error) => {},
(completed) => {
console.log('completed');
}
);
당신이 여기에서 볼 수 있듯이 문제는 코드가 관찰 가능한을 실행하면, pdf
변수가 있다는 것입니다,
(I 더 나은 명확성을 위해 코드를 단순화) 각 관찰 대상에 대해 다른 변수가 아닌 마지막 pdfObjects
과 같습니다.
질문은 어떻게하면 내 'pdf
'변수를 '통과'하고 '복사'할 수 있습니까? 그렇기 때문에 각 관찰 가능 항목에 대해 다른 변수가 있습니까?
observables.push(new Observable(observer => {
this.createPDF(pdf).subscribe((pdfFile) => {
// Do something with my pdfFile
observer.next(pdf); // <-----
});
})
편집
귀하의 문제는 루프 내에서 폐쇄의 사용과 관련되어
let에 대괄호로 값을 묶고 'pdfObjects'키를 사용하여 새 객체를 만들거나 단순화 할 때 오타가 발생 했습니까? –