#c# #angular #typescript #http #asp.net-core-webapi
Вопрос:
Я использую ngx-datatable для загрузки больших объемов записей. Однако чем больше объем, тем больше времени это занимает. Я где-то читал, что вы можете ускорить его, отсортировав, а затем назначив источнику данных. Не мог бы кто-нибудь, пожалуйста, помочь мне найти лучший способ улучшить производительность этого процесса?
recipient.component.html
</ngx-datatable><ngx-datatable
#table
class='data-table'
[columns]="columns"
[columnMode]="'force'"
[headerHeight]="37"
[footerHeight]="50"
[rowHeight]="38"
[reorderable]="false"
[limit]="7"
(activate)="onActivate($event, editContent)"
[rows]='getRecipients()'>
</ngx-datatable>
получатель.компонент.ts
recipients: Recipient[] = [];
ngOnInit() {
this.deleted_recipients = [];
this.adhoc.getAdhocDetails(this.adhocForm.get('create.campaignNo').value).subscribe(
x => this.seedRecipients(x),
err => this.general.error(err)
);
}
seedRecipients(csvRecordsArr: Recipient[]) {
for (let y = 0; y < csvRecordsArr.length; y ) {
const recipient = csvRecordsArr[y];
recipient.status = this.getStatus(recipient);
this.recipients.push(csvRecordsArr[y]);
}
this.recipients = [...this.recipients];
this.origRecipients = JSON.stringify(this.recipients);
this.checkStatus();
}
getRecipients(): Recipient[] {
return this.recipients;
}
сервис.ts
getAdhocDetails(campaignNo: string): Observable<Recipient[]> {
return this.http.get<Recipient[]>(this.baseUrl 'getAdhocDetails/' campaignNo).map(res => res);
}
Класс API
public async Task<IEnumerable<AdhocRewardInfo>> getAdhocDetails(string CampaignNo) {
//this._context.Database.SetCommandTimeout(200);
var details = await _context.AdhocRewardInfo.Where(e => e.CampaignNo == CampaignNo).ToListAsync();
return details;
}
Комментарии:
1. Должно ли это быть в обзоре кода ?
2. @Elikill58 Я никогда не знал об этом, спасибо
3. Нет проблем 🙂 и да, я думаю, что они будут более точными в обзоре кода se
4. Перед публикацией в Обзоре кода обязательно прочитайте руководство по обзору кода для пользователей переполнения стека , так как там некоторые вещи делаются по — другому-например, в заголовках вопросов должно быть просто указано, что делает код, так как всегда возникает вопрос: «Как я могу это улучшить?». Убедитесь, что код работает правильно; по возможности включите модульные тесты. Скорее всего, вы получите некоторые предложения по повышению эффективности, упрощению чтения и лучшей проверке.
5. @TobySpeight Спасибо вам за ваш совет