首页 > 解决方案 > 使用闭包无限滚动页面?

问题描述

当滚动到达页面底部时,我想获取更多数据并将这些元素附加到 DOM。
所以每次点击页面底部时,我都会从服务器获取数据以获取一个递增的新页面......'http://myapi.com/page/1'

我想知道是否可以使用闭包来封装该递增变量。

const dataAction = function () {
     let i = 0;
     return function() {
          fetch('http://myapi.com/page/' + i)
          .then(() => {
             i += 1;
             // do something;
          }
     }
}

然后我可以实例化它,let fetchDataFunc = dataAction() 然后只要滚动底部到达,我就可以运行fetchDataFunc(). 闭包的正确用法会是什么?

标签: javascript

解决方案


是的,看起来它会工作得很好。


推荐阅读