如何從閉包返回而不從包含函數返回?從關閉返回?
在以下函數中,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