“1”类型的参数不可分配给 'number[]' 类型的参数

Argument of type '1' is not assignable to parameter of type 'number[]'

我正在使用 Angular4,目前开始探索 Angular4 的服务。我在我的数据服务 class 中所做的一切都是正确的,但我仍然在参数 observer.next(1);\

中收到此错误

请告诉我哪里错了。

错误:

Argument of type '1' is not assignable to parameter of type 'number[]'

data.service.ts:

import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Observable';


@Injectable()

export class DataService{
    data: Observable<Array<number>>;

constructor(){

}
getData(){
    this.data = new Observable(observer =>{
        setTimeout(() =>{
            observer.next(1);
        }, 1000);

        setTimeout(() =>{
            observer.next(2);
        }, 2000);

        setTimeout(() =>{
            observer.next(3);
        }, 3000);

        setTimeout(() =>{
            observer.next('Hello');
        }, 4000);

        setTimeout(() =>{
            observer.complete();
        }, 5000);
    });

    return this.data;
    }
}

this.data 是数字数组,而不是单个数字。将您的值改为 this.data。

您为 data 编写了此类型:

data: Observable<Array<number>>;

但您要传递的是 number,而不是数字数组。所以你可以改变 data:

的类型
data: Observable<number>;