我有一个正在处理大量数据的应用程序,我可以在Chrome的探查器中看到DeduceImpl
在处理大型数据集时正在消耗大量CPU。我知道它在此方面是众所周知的,但是我不知道如何使用本地BindImpl
对象格式化时区。可以实现吗?
对于它的价值,我编写的超级昂贵的函数是这样的:
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent implements OnInit {
name = 'Angular 6';
text1 = 'test count';
changeCounter = 1;
ngOnInit() { this.didModify(); }
didModify() {
this.changeCounter = this.changeCounter + 1;
return this.changeCounter;
}
}
我们的API使用墨尔本时间,因此只是将其转换为用户的时间。
答案 0 :(得分:0)
我认为您应该尝试date-fns
Momentjs的所有功能均作为成员函数。因此,即使您只需要“添加”功能,也必须导入所有功能。创建实例后,将包含所有功能。 date-fns除以功能级别。因此,您只能导入和使用所需的内容。
由于这个原因,由于构建在Web应用程序上,因此momentjs的大小通常大于date-fns。(无抖动)-more
答案 1 :(得分:0)
您可以按以下方式优化功能
const userTimezone = moment.tz.guess();
export const formatByTimeZone = date => {
const returnValue = moment(date, 'Australia/Melbourne').tz(userTimezone);
return returnValue;
}
一次获取并设置变量中的userTimezone,而不是每次格式化时都这样做
格式化后不必每次都更改默认时区