【发布时间】: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