Angular 如何使用NgZone修复chrome存储检索中的延迟?

Angular 如何使用NgZone修复chrome存储检索中的延迟?,angular,angular2-changedetection,ngzone,Angular,Angular2 Changedetection,Ngzone,我有一个角度分量,需要在NgOnInit方法中设置和获取数据 然而,由于时间的原因,数据的设置和检索略有延迟。我想用NgZone或ChangeDetectionRef解决这个问题,但我不确定怎么做 我不想使用设定的间隔或计时延迟 我在构造函数上调用load data方法 构造函数( 只读chromeStorageService:chromeStorageService){ this.chromeStorageService.loadData(this.chromeStorageKey); }

我有一个角度分量,需要在
NgOnInit
方法中设置和获取数据

然而,由于时间的原因,数据的设置和检索略有延迟。我想用
NgZone
ChangeDetectionRef
解决这个问题,但我不确定怎么做

我不想使用设定的间隔或计时延迟

我在
构造函数上调用load data方法

构造函数(
只读chromeStorageService:chromeStorageService){
this.chromeStorageService.loadData(this.chromeStorageKey);
}
在我的服务方法中,如果数据尚未在Chrome存储器中设置,我将加载数据

loadData(键:字符串){
chrome.storage.local.get(
[key],异步(结果:{[key:string]:VersionStorage;})=>{
if(Object.keys(result).length==0&&
result.constructor===
对象){//检查对象是否存在
const todaysDate=new Date().getTime();
const object={timestamp:todaysDate,versionNumber:'3.0.9'};
chrome.storage.local.set({key:object});
}
});
}
然后,我在我的
OnInit
方法中检索数据:

async ngOnInit(){
this.chromeStorageService.retrieveChromeStorageObject(
这是(chromeStorageKey);
this.chromeStorageService.chromeStorageSubject
.pipe(takeUntil(this.ngDestroy),tap((chromeObject:VersionStorage)=>{
this.shouldldisplay=this.isNewVersion(chromeObject);
}))
.subscribe();
}
但是,延迟导致我的对象为空。是否有人能帮助我解决这个问题,最好是使用
NgZone
ChangeDetectionRef

“导致我的对象为空”-我不明白这个问题。您的意思是变量this.shouldDisplay
永远不会更新吗?