Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在节点js中添加延迟加载?_Javascript_Node.js_Mongodb_Lazy Loading - Fatal编程技术网

Javascript 如何在节点js中添加延迟加载?

Javascript 如何在节点js中添加延迟加载?,javascript,node.js,mongodb,lazy-loading,Javascript,Node.js,Mongodb,Lazy Loading,这是我将所有帖子发送到前端的代码。但是我想在后端添加延迟加载。 后端不能一次发送所有数据。。间隔一段时间后呼叫1000个feed post。 数据太大,无法通过api调用。我看到的第一件事是:为什么不将wait放在try/catch块中 您可以使用skip和limit 我喜欢这样做: const posts = await Post.find().populate("receiver").populate("author") try {

这是我将所有帖子发送到前端的代码。但是我想在后端添加延迟加载。 后端不能一次发送所有数据。。间隔一段时间后呼叫1000个feed post。
数据太大,无法通过api调用。

我看到的第一件事是:为什么不将
wait
放在
try/catch
块中

您可以使用
skip
limit

我喜欢这样做:

const posts = await Post.find().populate("receiver").populate("author")
        try {
            res.json({
                status: true,
                message: 'All posts fetched',
                data: posts.reverse()
            })
根据您是使用GET还是POST,您需要向API发送额外的
页面


在第1页你会看到10篇文章。在skip中,你有10乘以1,也就是10,但是你不想在第一次获取时跳过10篇文章。因此,您需要对
-1
进行细分,使10乘以0等于0,以便在第一次提取时跳过0。

由于您使用的是
填充
我假设您使用的是mongoose,请尝试添加分页。您可以看到在mongoose中如何使用skip和limit
    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()
        })