2015-11-26 56 views
0

一個例子異步函數,我剛開始學習JavaScript,並已提供了以下答案的JS-評估異步測試的問題之一。理解JS評估

var dfd = $.Deferred(); 
setTimeout(function() { 
    dfd.resolve(value); 
}, 10); 
return dfd.promise(); 

我相信上面的代碼應該在10秒後解析函數,但是我對理解語法有困難。我懷疑它可能會被棄用或舊的風格。

是否$.Deferred()表示,因爲$的承諾?據here它只是一個隨機變量的名稱(可以很容易地與像example_promise替換,但我懷疑可能是錯的。難道一個承諾必須有它的內部.resolved()功能?而在去年,我必須指定return dfd.promise() VS return dfd

這可能是過分的要求,但基本上我想這是怎麼回事的行通過在線故障和原因。

+2

你在看什麼是jQuery的遞延對象(因此'$'):http://learn.jquery.com/code-organization/deferreds/jquery-deferreds/。它們與承諾類似,但API略有不同。 –

+0

太棒了。我甚至沒有意識到我在看jQuery,我以爲我在學習Javascript。 –

+0

然而您標記使用jQuery的問題;) –

回答

0

原來的語法不是過時的或任何東西,我是隻是忽略了相關的jQuery才知道jQuery是JavaScript的一部分一切。對於那些剛剛開始學習,在評論部分的鏈接非常有用的閱讀。