2015-11-26 57 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的一部分一切。对于那些刚刚开始学习,在评论部分的链接非常有用的阅读。