Typescript 离子2“;类型';{}';不可分配给类型';“任何[]”;
有一个离子2项目 这是我的密码:Typescript 离子2“;类型';{}';不可分配给类型';“任何[]”;,typescript,angular,ionic2,Typescript,Angular,Ionic2,有一个离子2项目 这是我的密码: export class PostPage { posts : [any]; constructor(private nav:NavController, private postSvc: PostService) { } ngOnInit() { this.postSvc.load() .subscribe( data => { this.posts = data;
export class PostPage {
posts : [any];
constructor(private nav:NavController,
private postSvc: PostService) {
}
ngOnInit() {
this.postSvc.load()
.subscribe( data => {
this.posts = data;
});
}
错误消息是针对this.posts=data。我将this.posts定义为[任何]。在我的PostService中,我也将数据定义为[]
邮政编码:
load() {
return new Observable( observer => {
var Post = Parse.Object.extend("Post");
var query = new Parse.Query(Post);
query.find({
success: results => {
var data = [];
for (var i = 0; i < results.length; i++) {
var object = results[i];
var item = this.createPost(object);
data.push(item);
}
observer.next(data);
observer.complete();
},
error: error => {
observer.error(error.message);
}
});
});
}
load(){
返回新的可观察对象(观察者=>{
var Post=Parse.Object.extend(“Post”);
var query=newparse.query(Post);
查询.查找({
成功:结果=>{
var数据=[];
对于(var i=0;i{
observer.error(错误消息);
}
});
});
}
我收到了错误消息:
类型“{}”不可分配给类型“any[]
如您所见,我调用observer.next(data)其中data是[]。我不明白为什么我的爱奥尼亚2认为我的数据是{}。有什么想法吗?谢谢。对于关闭
的帖子:[任何]
你可能是指posts:any[]代码>
类型“{}”不可分配给类型“any[]
如果TypeScript编译器无法按类型推断出类型,则可能发生这种情况。例如,如果推断的类型是Promise
传递给的值,则将是{}
类型
在以下位置指定类型:
return new Observable( observer => {
e、 g:
返回新的可观察对象(observer=>{
对于来到这里的每个人:在我的例子中,这解决了它:返回新的承诺(resolve=>{…
return new Observable<any>( observer => {