在 Angular 上创建一个文件 writeStream Observable
Make a file writeStream Observable on Angular
我正在努力猜测如何创建一个可以订阅的方法,在下载文件时返回文件的位置。现在的方法是错误的:Type 'void' is not assignable to type 'Observable<any>'.
downloadFile(url, location): Observable<any>{
const file = fs.createWriteStream(location);
https.get(url, function (response) {
response.pipe(file);
file.on('finish', function (d) {
file.close();
return Observable.of(location);
});
});
有什么想法吗?谢谢:-)
我想到了这个可行的解决方案:
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();
});
});
}
我正在努力猜测如何创建一个可以订阅的方法,在下载文件时返回文件的位置。现在的方法是错误的:Type 'void' is not assignable to type 'Observable<any>'.
downloadFile(url, location): Observable<any>{
const file = fs.createWriteStream(location);
https.get(url, function (response) {
response.pipe(file);
file.on('finish', function (d) {
file.close();
return Observable.of(location);
});
});
有什么想法吗?谢谢:-)
我想到了这个可行的解决方案:
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();
});
});
}