3

我将来自 2 个 api 调用的 2 个响应合并为一个。完成2个响应后,应触发合并功能。

我已经设法通过 ngDoCheck() 做到这一点,如下所示:

ngDoCheck() {
    if(this.tasksResponse && this.peopleResponse && !this.peopleShown) {
        this.finalData = this.returnPeople.mapData(this.peopleResponse, this.tasksResponse);
        this.peopleShown = true;
    }
}

如您所见,我检查响应是否在其中,并检查“this.peopleShown”布尔值。在构造函数中,我将其设置为“假”。我这样做的原因是因为我不希望每次发生小事情时都运行该函数(例如,当用户与站点交互时)。

使用我的解决方案,ngDoCheck() 在成功运行一次后没有任何影响,因此它按我想要的方式工作。我唯一担心的是生命周期钩子仍然被钩住(就像一个事件监听器,它一直在监听,但不做任何事情)。性能方面不是我认为的最佳解决方案?

我的问题
是否有可能以任何方式解开 ngDoCheck() ?
ngStopCheck(), 什么的..

4

0 回答 0