Я создаю газетное приложение, похожее на мобильное приложение Flipboard! используя nodejs nestjs framework.
Итак, я забираюсь на несколько веб-сайтов, чтобы получить данные, и в итоге у меня есть массив из более чем 100 элементов только для первой страницы, собранной с каждого веб-сайта!
Поэтому мой вопрос заключается в том, как разбить на страницы этот массив и в конце (конец массива) отправить запрос на мой сканер для получения страницы 2 с этих веб-сайтов (например, еще 100 элементов)
То, что я пытался сделать, но все же я не почувствовал никаких улучшений во времени отклика!
async getAllArticles(page: number, size: number) {
const skip = size * (page - 1);
// First crawler ( has an optional page pram default is page 1 )
const unlimitTech = await this.getArticlesFromUnlimitTech();
// Second crawler ( has an optional page pram default is page 1 )
const tectWd = await this.getArticlesFromTechWD();
// Merge them and sorted by date ( DESC )
const all = unlimitTech.concat(tectWd).sort(function (a, b) {
// Turn your strings into dates, and then subtract them
// to get a value that is either negative, positive, or zero.
return new Date(b.date).getTime() - new Date(a.date).getTime()
})
.slice(skip, size * page); // Slice the array into small chanks
return all;
}
1. Моя проблема в том, что выше - отправка всего массива или отправка его маленькими кусками без увеличения времени отклика!
2. Вторая проблема, которую я не могу определить, когда я говорю своему сценарию сканировать на следующую страницу!
Есть ли подход, который может значительно ускорить передачу данных в моей ситуации? так как количество сканирующих сайтов будет увеличено и, конечно, тогда будет больше время отклика !!