Angular2:
我有组件和服务。组件调用服务,它必须返回响应。问题是我不知道如何返回响应。我的组件就像:
uploadFile(docId: any) {
let pos = this.uploader.queue.length-1;
//We pick the last one
this._uplService.uploadDoc(this.uploader.queue[pos], docId, this.innerText)
}
服务做了这件事:
uploadDoc(file: FileItem, docId : any, title: String){
let headers = this._httpWrapper.genetareAuthHeader("path", "POST");
let user = this._userService.getUser();
file.url = user.config.apiUrl+"path?options="+user.options;
file.upload();
file.onSuccess = function(response: string, status: number, headers: ParsedResponseHeaders) {
console.log(response);
}
file.onError = function(response: string, status: number, headers: ParsedResponseHeaders) {
console.error(response);
}
我的问题是将响应和错误从服务返回到组件。我试图从承诺,反应等方面做一个可观察的观察,但是观察到的确非常困难,而且我一直都在努力,并且上传了很多次。返回函数(file.onSuccess或file.onError)而不是函数(响应)返回的值。