如何从闭包返回而不从包含函数返回?从关闭返回?
在以下函数中,return
语句实际上从GM_xmlhttpRequest
返回:不是闭包。当然,我可以看到,我可以安排我的代码,以便执行在闭包结束时结束,但我很好奇如何在示例中提前返回。
function GM_xmlhttpRequest(details, callback) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState != 4)
return; // <-- zomg returns from parent function wtf
if (xhr.status != 200)
callback(null);
callback(xhr);
}
xhr.open('GET', details.url, true);
xhr.send();
};
没有办法解决这个问题,除非解析器由于跳过字符而产生问题('{',';'等)。你知道'GM_xmlhttpRequest'会在调用完成后立即运行并完成,对吗? – lincolnk 2010-09-28 16:01:23