我曾经用jQuery学习过Promises,但是之后几年没有做太多编程工作。现在,我想使用ES6原生的Promise来完成一些任务。
当时,Promises让我有点头疼。现在,由于我已经生疏,并且jQuery promises、其他promise库和新的原生JS promises之间存在细微和重大的差异,所以在尝试让这些东西工作时,我的头更加痛了。
似乎jQuery.when()
和Promise.all()
做的事情相同,但我们是否应该注意一些重要的区别呢?
我曾经用jQuery学习过Promises,但是之后几年没有做太多编程工作。现在,我想使用ES6原生的Promise来完成一些任务。
当时,Promises让我有点头疼。现在,由于我已经生疏,并且jQuery promises、其他promise库和新的原生JS promises之间存在细微和重大的差异,所以在尝试让这些东西工作时,我的头更加痛了。
似乎jQuery.when()
和Promise.all()
做的事情相同,但我们是否应该注意一些重要的区别呢?
Promise.all()
接受一个由 Promises
或普通的 JS objects
组成的数组作为参数,因此您需要通过索引访问结果。
jQuery.when()
接受多个参数,这些参数是普通的 JS objects
或 jQuery Deferred
,因此您可以通过变量名访问结果。
Promise.all()
的数组也可以是Promise
或普通对象。如果是后者,它会在内部调用Promise.resolve()
。但我还在摸索中... -: - hippietrail
$
和document.querySelectorAll
是一样的吗? - Rayon$
在浏览器开发工具控制台中等同于document.querySelector
,而$$
则等同于document.querySelectorAll
。但是在 jQuery 中,$
是jQuery
对象。 - hippietrailjQuery
和JavaScript-Promise
进行比较呢? - Rayon