离子 2 "Type '{}' is not assignable to type 'any[]"

ionic 2 "Type '{}' is not assignable to type 'any[]"

有一个 ionic 2 项目。

这是我的代码:

export class PostPage {
  posts : [any];

  constructor(private nav:NavController,
    private postSvc: PostService) {
  }

  ngOnInit() {    
    this.postSvc.load()
      .subscribe( data => {
          this.posts = data;
      });
  }

错误消息是针对 this.posts = 数据。我将 this.posts 定义为 [any]。同样在我的 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);
        }
      });
    });
  }

我收到错误消息:

Type '{}' is not assignable to type 'any[]

如您所见,我调用 observer.next(data),其中 data 是 []。我不明白为什么我的 ionic 2 认为我的数据是 '{}' 。任何的想法?谢谢

关闭 posts : [any]; 你的意思可能是 posts : any[];

Type '{}' is not assignable to type 'any[]

如果 TypeScript 编译器无法通过类型推断确定类型,则可能会发生这种情况,例如如果推断类型是 Promise<{}>,则传递给 then 的值将是 {} 类型。

指定类型:

return new Observable( observer => {

例如:

return new Observable<any>( observer => {