我試圖按照 File Upload using (AngularJS 2) and ASP.net MVC Web API觀察者隱含有
從upload.service.ts的任何類型的錯誤(注:旁邊的錯誤行加//錯誤)
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Rx';
@Injectable()
export class UploadService {
progress$: any;
progress: any;
progressObserver: any;
constructor() {
this.progress$ = Observable.create(observer//error => {
this.progressObserver = observer
}).share();
}
private makeFileRequest(url: string, params: string[], files: File[]): Observable/error {
return Observable.create(observer//error => {
let formData: FormData = new FormData(),
xhr: XMLHttpRequest = new XMLHttpRequest();
for (let i = 0; i < files.length; i++) {
formData.append("uploads[]", files[i], files[i].name);
}
xhr.onreadystatechange =() => {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
observer.next(JSON.parse(xhr.response));
observer.complete();
} else {
observer.error(xhr.response);
}
}
};
xhr.upload.onprogress = (event) => {
this.progress = Math.round(event.loaded/event.total * 100);
this.progressObserver.next(this.progress);
};
xhr.open('POST', url, true);
xhr.send(formData);
});
}
}
和獲取錯誤:
Error TS7006 Parameter 'observer' implicitly has an 'any' type
我試圖用
(observer:Observable <any>) =>
instaed的
(observer =>
,並獲得論文的錯誤
TS2339 Property 'next' does not exist on type 'Observable<any>'
TS2339 Property 'error' does not exist on type 'Observable<any>'
TS2339 Property 'complete' does not exist on type 'Observable<any>'
TS7006 Parameter 'observer' implicitly has an 'any' type