【发布时间】:2010-09-20 01:28:24
【问题描述】:
假设您想在 JavaScript 中发出一个异步请求,但您想将一些状态传递给回调方法。以下是 JavaScript 中闭包的适当用法吗?
function getSomethingAsync(someState, callback) {
var req = abc.createRequestObject(someParams);
req.invoke(makeCallback(someState, callback));
}
function makeCallback(someState, callback) {
return function getSomethingCallback(data) {
var result = processDataUsingState(data, someState);
callback(result); // alternately/optionally pass someState along to result
}
}
如果没有,有没有更好或更惯用的方法?
【问题讨论】:
标签: javascript closures