Javascript 在使用前准备好一项服务
我是个新手。我不知道我在各种服务中使用的这种模式是否正确。 我的服务需要执行一些http请求才能准备就绪。构造函数不能是异步的,因此我用以下方法解决此问题: 服务Javascript 在使用前准备好一项服务,javascript,angular,design-patterns,Javascript,Angular,Design Patterns,我是个新手。我不知道我在各种服务中使用的这种模式是否正确。 我的服务需要执行一些http请求才能准备就绪。构造函数不能是异步的,因此我用以下方法解决此问题: 服务 export class MyService { constructor(HttpClient:http) { } private longAndNeededMethod():Observable{ //Blablabla.... return this.http.post(.
export class MyService {
constructor(HttpClient:http) {
}
private longAndNeededMethod():Observable{
//Blablabla....
return this.http.post(...);
}
async ready() {
if(notReady){
await this.longAndNeedMethod().toPromise().then(
(response)=>{
//do something
});
}
}
//Another methods
}
组件
export class MyComponent{
constructor(private myService:MyService){}
async onInit(){
await this.myService.ready();
}
//Another methods
}
这个设计正确吗
谢谢我不会用wait锁定用户界面。
最好让ready()方法返回一个observable,并在observable完成后使用该observable加载MyComponent。我不会用wait锁定UI。
最好让ready()方法返回一个observable,并在完成observable后使用该observable加载MyComponent。谢谢您的回答。当服务加载时,组件显示一个旋转的轮子。如果服务未准备好,则组件无法正常工作。谢谢您的回答。当服务加载时,组件显示一个旋转的轮子。如果服务未就绪,则该组件无法正常工作。