我知道它的工作原理。我已成功實施它。你能解釋爲什麼這個jQuery代碼有效嗎?
$("#vehicle_application_product_id").autocomplete({
minLength: 2,
source: function(request, response) {
var term = request.term;
if (term in cache) {
response(cache[term]);
return;
}
lastXhr = $.getJSON("/products/get_json_list", request, function(data, status, xhr) {
cache[term] = data;
if (xhr === lastXhr) {
response(data);
}
});
}
});
我很喜歡用一些這方面的東西的腳本小子。我將永遠無法編寫匿名函數自己,因爲以下原因:
1)這個人是怎麼知道把參數「請求」,並在規範「反應」?
2)開頭的行 「lastXhr =」 真的是神祕。最後還有另一個匿名函數。我意識到這可能是一個回調,這是在請求發送到指定的URL後執行的。
3)在匿名函數最後條件:
if (xhr === lastXhr) {
response(data);
}
到底是什麼呢?如果那麼來自這個匿名塊的第三個參數xhr等於由.getJSON調用ENCOMPASSING這個匿名塊返回的值,返回響應中的數據?
這真的是最困難的部分,以繞到我的頭。我注意到這是3個等號。這看起來像非常高級的代碼概念,我只是明白這背後的理由是爲了讓我可以成爲一個更好的編碼器。
我會接受你的建議,在該書Cymen。 – AKWF