【问题标题】:Using a Closure for infinite scrolling page?使用闭包无限滚动页面?
【发布时间】:2020-12-16 21:55:11
【问题描述】:

当滚动到达页面底部时,我想获取更多数据并将这些元素附加到 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()。 闭包的正确用法是什么?

【问题讨论】:

  • 当然,为什么不呢?
  • @CertainPerformance 是预期用途吗?只是想确保我正确使用它们。我很难自然而然地想出一个很好的闭包用途,这个想法突然出现了
  • 是的完美用例,允许创建一个不暴露其内部状态的“有状态”函数

标签: javascript


【解决方案1】:

是的,看起来它可以正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-29
    • 1970-01-01
    • 1970-01-01
    • 2012-10-11
    • 2023-03-08
    相关资源
    最近更新 更多