Angular 使文件writeStream在角度上可见

Angular 使文件writeStream在角度上可见,angular,observable,fs,Angular,Observable,Fs,我正在努力猜测如何创建一个方法,可以订阅,在下载文件时返回文件的位置。该方法现在是错误的:类型“void”不可分配给类型“Observable”。 下载文件(url,位置):可观察{ const file=fs.createWriteStream(位置); https.get(url、函数(响应){ 管道(文件); 文件.on('finish',函数(d){ file.close(); (位置)的可观测返回; }); }); 有什么想法吗?谢谢:-)我想出了这个有效的解决方案: import

我正在努力猜测如何创建一个方法,可以订阅,在下载文件时返回文件的位置。该方法现在是错误的:
类型“void”不可分配给类型“Observable”。

下载文件(url,位置):可观察{ const file=fs.createWriteStream(位置); https.get(url、函数(响应){ 管道(文件); 文件.on('finish',函数(d){ file.close(); (位置)的可观测返回; }); });
有什么想法吗?谢谢:-)

我想出了这个有效的解决方案:

import { NextObserver } from 'rxjs/Observer';

downloadFile(url):  Observable<any>{

return Observable.create((observer: NextObserver <any>) => {
   const file = fs.createWriteStream(location);
  https.get(url, function (response) {
    response.pipe(file);
   });

 file.on('finish', () => {
      file.close();
        observer.next(location);
        observer.complete();
    });
});
}
从'rxjs/Observer'导入{NextObserver};
下载文件(url):可观察{
返回可观察的。创建((观察者:NextObserver)=>{
const file=fs.createWriteStream(位置);
https.get(url、函数(响应){
管道(文件);
});
file.on('finish',()=>{
file.close();
观察员:下一个(地点);
observer.complete();
});
});
}

Hi mate,是的,您没有返回到正确的上下文。这不起作用。我建议使用一个单独的主题,每个组件都可以订阅该主题以获得更新。如何在angular中使用
fs
import { NextObserver } from 'rxjs/Observer';

downloadFile(url):  Observable<any>{

return Observable.create((observer: NextObserver <any>) => {
   const file = fs.createWriteStream(location);
  https.get(url, function (response) {
    response.pipe(file);
   });

 file.on('finish', () => {
      file.close();
        observer.next(location);
        observer.complete();
    });
});
}