我想知道我的期望是否正确:Apollo客户端是否应该实例化TypeScript对象以换取请求?
这是我与Angular6和Apollo-client一起使用以从后端获取城市列表的代码,但是返回的对象不是City
类的实例。
类模型:
export class City {
id?: number;
name: string;
zip: number;
}
GraphQL查询:
export const ALL_CITY_QUERY = gql`
{
allCity {
id
name
zip
}
}
`;
export interface AllCityQueryResponse {
allCity: Array<City>;
}
调用查询:
this.apollo.watchQuery<AllCityQueryResponse>({
query: ALL_CITY_QUERY
})
.valueChanges
.subscribe(response => {
response.data.allCity.forEach(c => {
console.log(c); // Javascript object
console.log(c instanceof City); // Always false
});
});
这是阿波罗的正常行为,还是我在某个地方犯了错误?
提前谢谢