类型对象不能分配给类型'对象[]

时间:2017-05-23 08:13:37

标签: angular2-services angular2-observables

我不明白要在Observer上格式化返回类型:

这是我的观察员:

return new Observable (observer => {

        this.http.get('myurl').map(res => res.json()).subscribe(

            data => {

                observer.next(data);
                observer.complete();

            },
            error => {

                observer.error(error);
                observer.complete();

            }

        );

    });

我的控制器

this.competService.getAll().subscribe(
        data => {

            data.forEach((item) => {
              mylist.push(item);
            });

        },
        error => {

            this.busy = false;
            this.authService.errors(error);

        }


    );

我总是犯同样的错误:

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

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

如果您未指定从HTTP请求返回的类型,则HTTP客户端会将其视为对象。这导致您看到的类型不匹配错误。您正尝试将类型Object分配为any[]类型。您可以通过执行

指定返回类型
this.http.get<any[]>(this.ROOT_URL).subscribe(...);

来源:Type object is not assignable to type any[]