【问题标题】:What are the differences between jQuery.when() and ES6's Promise.all()?jQuery.when() 和 ES6 的 Promise.all() 有什么区别?
【发布时间】:2016-10-16 03:49:38
【问题描述】:

我学习了 jQuery 的 Promise,然后几年没有做太多的编程。现在我想使用原生 ES6 Promise 做一些事情。

Promises 那时让我有点低头。现在,两者都非常生疏,并且 jQuery 承诺、其他承诺库和新的原生 JS 承诺之间存在细微和主要的差异,当我试图让这些东西工作时,我的头变得更加弯曲。

jQuery.when()Promise.all() 似乎做同样的事情,但我们应该记住一些重要的区别吗?

【问题讨论】:

  • $document.querySelectorAll 一样吗?
  • @Rayon:我认为$document.querySelector 相同,$$ 与浏览器开发工具控制台中的document.querySelectorAll 相同。但是 jQuery 中的 $jQuery 对象。
  • 这就是我的意思!你怎么能把jQueryJavaScript-Promise比较?
  • 那我不明白你的意思。你可以比较任何东西。我不是将所有 jQuery 与原生 JS 的 promise 进行比较,而是将 jQuery 的 promise 函数之一与原生 JS 的 promise 函数之一进行比较。

标签: javascript jquery promise ecmascript-6 es6-promise


【解决方案1】:

Promise.all()ArrayPromises 或普通JS objects 作为参数,因此您需要按索引访问结果。

jQuery.when() 接受多个参数,这些参数是普通的JS objectsjQuery Deferred,因此您可以通过变量名访问您的结果。

【讨论】:

  • 看来Promise.all()的数组也可以是Promises或者普通对象。如果是后者,它会在内部调用Promise.resolve()。但我还在想办法... \-:
  • 哦,快!我忘了提到:)。我会编辑答案。
  • 谢谢。那是the problem I was trying to remember/solve 导致我提出这个问题。 (-:
猜你喜欢
  • 1970-01-01
  • 2013-03-14
  • 1970-01-01
  • 2017-11-15
  • 2017-12-30
  • 2018-03-08
  • 2014-04-14
  • 1970-01-01
相关资源
最近更新 更多