繁体   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