“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>;
我正在使用 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>;