在我的angular 6项目中,甚至我包含了 promise类型的错误,属性图都不存在
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/toPromise';
以下是我的代码
submit(): Promise<any> {
return http.post('api/SubmitEmployee', JSON.stringify(this.formData))
.map((response: Response) => <any>response.json())
.toPromise()
.catch(this.handlePromiseError)
}
handlePromiseError(error: Response) {
console.log(error)
}
一些Google之后,我发现了如下所示的解决方案,但这也不起作用
import { map } from 'rxjs/operators';
pipe(map((response: Response) => response.json()))
包含此内容后,它显示错误 promise类型上不存在属性类型
以下是我的自定义post
方法
post(url: string, content: any, resolve: ResolveFunction = null, reject: RejectFunction = null) {
this.clearCache();
const retryFunc = _ => this.post(url, content, resolve, reject);
return fetch(appSettings.baseApiUri + url, {
method: 'POST',
headers: this.getCustomHeader(),
body: content
})
.then(result => {
this.handleResponse(url, result, retryFunc, resolve, reject);
})
.catch(error =>
this.debounce(_ => this.handleError(url, error, retryFunc).catch(_ => reject(error)), this.debounceTimeout)
);
}
答案 0 :(得分:0)
使用 from 来包装http.post,就像from(http.post()。then())一样,它返回一个可观察到的内容,以便您可以通过管道传输流