【发布时间】:2016-06-03 15:54:21
【问题描述】:
我有这个关闭:
function CFetchNextData(ofs, pag, fetchFunction) {
var offset = ofs;
var limit = pag;
return function(options, cb) {
//do stuff to create params
fetchFunction(params, cb);
offset += limit;
};
}
然后我以这种方式创建一个变量:
var fetchInfo = CFetchNextData(0, 10, specificFetchFunction);
fetchInfo(options, myCB);
这样每次我调用 fetchInfo 时,分页都会自动设置为下一组数据。效果很好,虽然 我想要多个实例:“fetchInfo”,每个实例都有自己的范围。
var A = fetchInfo; // I'd like a clone with its own scope, not a copy
var B = fetchInfo; // I'd like a clone with its own scope, not a copy
我能做到:
var A = new CFetchNextData(ofs, pag, fetchFunction);
var B = new CFetchNextData(ofs, pag, fetchFunction);
但显然我每次都必须设置“ofs”和“pag”,而通过克隆 fetchInfo,我会有一个稳定的分页,只需设置一次就可以了。 你知道如何实现吗? 提前致谢
【问题讨论】:
标签: javascript closures