javascript - 使用闭包无限滚动页面?
问题描述
当滚动到达页面底部时,我想获取更多数据并将这些元素附加到 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()
. 闭包的正确用法会是什么?
解决方案
是的,看起来它会工作得很好。
推荐阅读
- c - 通过 MPI_Iscatter() 在 C 中面对分段错误分布 2D 矩阵
- java - 如何在hibernate和postgres上同步id?
- visual-studio-code - VSCode:3个点在编辑器中弹出和消失
- c# - 找到常用词及其频率
- javascript - 是否可以在没有 jest.mock('module') 的情况下在 NodeJS 中使用 Jest 模拟 API 调用?
- python - 在 python 中过滤两列并在每列中选择适用的字段
- java - 线程“主”java.lang.ClassCastException 中的异常:类 [B 不能强制转换为类 [C([B 和 [C 在加载器“引导程序”的模块 java.base 中)
- python - ValueError:层顺序的输入 0 与层不兼容:输入形状的预期轴 -1 具有值 1
- vba - 将波斯文文本从文件插入 PowerPoint
- python - pyspark 填充 spark 数据框中每个 id 的缺失数据