我刚刚开始学习javascript,并且已经为js-assessment异步测试问题之一提供了以下答案。
var dfd = $.Deferred();
setTimeout(function() {
dfd.resolve(value);
}, 10);
return dfd.promise();
我相信上面的代码应该在10秒后解析函数,但是我在理解语法方面遇到了麻烦。我怀疑它可能会被弃用或旧款。
由于$ $.Deferred()
是否代表了承诺?根据{{3}},它只是一个随机变量名称(可以很容易地用example_promise
之类的东西替换,但我怀疑可能是错误的。承诺是否必须有一个.resolved()
函数它?最后,我是否必须指定return dfd.promise()
vs return dfd
?
可能要问很多,但基本上我想逐行分析发生了什么以及为什么会这样做。
答案 0 :(得分:0)
原来语法没有过时或任何东西,我只是忽略了与jQuery相关的一切,只是为了实现jQuery是javascript的一部分。对于那些刚刚开始学习的人来说,评论部分中的链接是有用的阅读。