Socket.io EJS中的无限滚动

Socket.io EJS中的无限滚动,socket.io,ejs,infinite-scroll,Socket.io,Ejs,Infinite Scroll,正如标题所说,我正在尝试使用ejs在我的页面上实现无限滚动 现在,我已经将它设置为从数据库向页面呈现有限数量的项 快速JS端: app.get(`/`, (req, res) => { database.find({}, (err, items) => { if (!err){ res.render("home",{cards:items}); } else { console.log(err); }

正如标题所说,我正在尝试使用ejs在我的页面上实现无限滚动

现在,我已经将它设置为从数据库向页面呈现有限数量的项

快速JS端:

app.get(`/`, (req, res) => {
    database.find({}, (err, items) => {
      if (!err){
        res.render("home",{cards:items});  
      } else {
        console.log(err);
      }
    }).limit(20);
});
在EJS端,我通过forEach循环将项目显示在EJS中

<%cards.forEach((i) => {%>

  <p><%=i.contents%></p>

<%})%>
服务器

socket.on("loadmore", (count) => {
  linkscr.amazon.find({},(e,found)=>{
    if(!e){
      const data = found;
      socket.emit("loadmore", data);
    }
  }).skip(count).limit(10);

});

现在我有另外十项我想尝试进入running for循环,但据我所知,我看不出如何做,因为我正在为request函数运行函数。我有办法做到这一点吗

看起来在这种情况下不需要使用套接字,一个api就足够了。得到响应后,使用js或jquery追加到列表中。如何追加到列表中?这是我的主要问题。我无法将从客户端js获取的数据添加到呈现的服务器js数据中,因此我重写了所有内容,现在我无法插入html。我把它写在另一个线程中,我非常沮丧地接近解决这个问题。
socket.on("loadmore", (count) => {
  linkscr.amazon.find({},(e,found)=>{
    if(!e){
      const data = found;
      socket.emit("loadmore", data);
    }
  }).skip(count).limit(10);

});