我的 Service 类包含以下代码:
Service.ts
我的页面组件,我在其中使用了服务。
Page.ts
我已经得到了所需的结果,但是为了理解Observables和Observer的概念,我的Observable应该有一个坐在旁边订阅的Observer。那么为什么这里的代码const
我看到了官方资源toPromise(),在那里我发现它与
//all imports are done
@Injectable()
export class Service{
constructor(private http: Http) { }
getGoogle():Observable<any> {
console.log("Inside service");
return this.http.get('https://jsonplaceholder.typicode.com/posts/1');
}
}
我的页面组件,我在其中使用了服务。
Page.ts
//all imports are done
export class Page1{
constructor(private service: Service, private navCtrl: NavController) { }
async get() {
console.log("inside get method");
const data = await this.service.getGoogle().toPromise();
console.log('The response is' , data);
}
}
我已经得到了所需的结果,但是为了理解Observables和Observer的概念,我的Observable应该有一个坐在旁边订阅的Observer。那么为什么这里的代码const
data = await this.service.getGoogle.subscribe().toPromise()
不起作用,并显示property toPromise() does not exists on type Subscription.
的错误呢?我看到了官方资源toPromise(),在那里我发现它与
.just().toPromise()
一起使用。然后我找到了.just()
API,其中说明:
因此,它在这里使用subscribe的功能,那么为什么不使用just()方法将其参数作为OnNext通知发出,之后,它会发出一个OnCompleted通知。
.subscribe()
呢?
toPromise
可以在Observable
上调用,而不是Subscription
,并且toPromise
执行订阅。 - cartant