我正在构建一个nativescript应用程序,并在tns构建Android时得到这些错误:
src/app/services/cabin.service.ts(21,86):错误TS2345:类型为“Object”的参数不能分配给类型为“Response”的参数。“Object”类型可分配给极少数其他类型。您的意思是使用“any”类型来代替吗?类型“Object”中缺少属性“type”。src/app/services/cabin.service.ts(27,86):错误TS2345:类型为“Object”的参数不能分配给类型为“Response”的参数。“Object”类型可分配给极少数其他类型。您的意思是使用“any”类型来代替吗?src/app/services/cabin.service.ts(33,86):错误TS2345:类型为“Object”的参数不能分配给类型为“Response”的参数。“Object”类型可分配给极少数其他类型。您的意思是使用“any”类型来代替吗?
这是我的橱柜
import { Injectable } from '@angular/core';
import { Cabin } from '../shared/cabin';
import { Observable } from 'rxjs';
import { Http, Response } from '@angular/http';
import { HttpClient, HttpHeaders } from "@angular/common/http";
import { baseURL } from '../shared/baseurl';
import { ProcessHTTPMsgService } from './process-httpmsg.service';
import { map } from "rxjs/operators";
import { catchError } from "rxjs/operators";
@Injectable()
export class CabinService {
cabins: Cabin[];
constructor(private http: HttpClient,
private processHTTPMsgService: ProcessHTTPMsgService) { }
getCabins(): Observable<Cabin[]> {
return this.http.get(baseURL + 'cabins')
.pipe(map(res => { return this.processHTTPMsgService.extractData(res); }),
catchError(error => { return this.processHTTPMsgService.handleError(error); }));
}
getCabin(id: number): Observable<Cabin> {
return this.http.get(baseURL + 'cabins/'+ id)
.pipe(map(res => { return this.processHTTPMsgService.extractData(res); }),
catchError(error => { return this.processHTTPMsgService.handleError(error); }));
}
getFeaturedCabin(): Observable<Cabin> {
return this.http.get(baseURL + 'cabins?featured=true')
.pipe(map(res => { return this.processHTTPMsgService.extractData(res)[0]; }),
catchError(error => { return this.processHTTPMsgService.handleError(error); }));
}
}
第21、23、33行的代码如下:
.pipe(map(res => { return this.processHTTPMsgService.extractData(res); }),
我对打字机和原生机是新手
这是我的ProcessHttpMessage.Service从“@Angular/Core”导入{Injectable};
import { Observable } from 'rxjs';
import { Http, Response } from '@angular/http';
import { throwError } from 'rxjs';
@Injectable()
export class ProcessHTTPMsgService {
constructor() { }
public extractData(res: Response) {
let body = res.json();
return body || { };
}
public handleError (error: Response | any) {
let errMsg: string;
if (error instanceof Response) {
const body = error.json() || '';
const err = body.error || JSON.stringify(body);
errMsg = `${error.status} - ${error.statusText || ''} ${err}`;
} else {
errMsg = error.message ? error.message : error.toString();
}
return throwError(errMsg);
}
}
在使用HttpClient
时,默认情况下将接收JSON数据,除非修改responseType或observe参数。
res
已经是您的JSON对象,因此它应该是
public extractData(res: any) {
// Unless you have further extraction to be done, this method is not required at all
return res;
}
我刚刚更新到Dart2和Flatter sdk:' 无法将参数类型“Object”指定给参数类型“ImageProvider”。), 我只是从弗利特开始,不知道该去哪里找别的。
由于最近的更新,我正面临这个问题,请伙计们帮帮我
这是我运行时得到的结果。我使用的是ionic4版本的Angular 8。
很好的一天。我不熟悉使用VSCode键入脚本。 获取以下错误: > 错误TS2322:类型'()= 代码: DTO。输电系统 LinkedObject.ts 我正在尝试使用上述接口方法实例化类: TravelClientFormPopulator.ts 任何帮助都将不胜感激。
我试图用flutter插件HTTP发出HTTP POST请求,但我得到了一个标题错误。有人知道这是什么原因吗?因为在我的其他应用程序中,这工作得非常好?
我试图制作一个简单的饼图,但在工厂构造函数中使用未来的数据时遇到了问题。错误信息显示: 预期有2个位置参数,但找到1个。 参数类型“未来” 以下是代码: 编辑:我能够使用Future Builder修复此问题。我的代码更改: