簡體   English   中英

如何在 Node js 中添加延遲加載?

[英]How to add Lazy loading in Node js?

const posts = await Post.find().populate("receiver").populate("author")
        try {
            res.json({
                status: true,
                message: 'All posts fetched',
                data: posts.reverse()
            })

這是我將所有帖子發送到前端的代碼。 但我想在后端添加延遲加載。 后端不能一次性發送所有數據.. 在某個時間間隔后調用 1000 個提要帖子。 數據太大,無法通過 api 調用。

我看到的第一件事:你為什么不把你的await放在try / catch塊中?

您可以使用skiplimit

我喜歡這樣做:

    let page = req.body.page - 1;
    let postAmount = 10;
    try {
        const posts = await Post.find().populate("receiver").populate("author").limit(postAmount).skip(postAmount * page)
        res.json({
            status: true,
            message: 'All posts fetched',
            data: posts.reverse()
        })

根據您是使用 GET 還是 POST,您將需要向您的 API 發送額外的page

在第 1 頁,您將看到 10 個帖子。 在跳過時,您有 10 個乘以 1,即 10,但您不想在第一次獲取時跳過 10 個帖子。 因此,您需要減去-1才能使 10 乘以 0 為 0,因此您在第一次提取時跳過 0。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM