q.js 添加的是 javascript Promise 实现中没有的内容?

What is q.js adding that isn't in the javascript Promise implementation?

我不是 js 开发人员,并不真正了解 q.js 和 Promises 背后的 history/relationship。当我查看 Mozilla Developer Network 文档时,在我看来,本机 javascript Promise 实现或多或少做了 q.js 所做的事情。 q.js 是承诺的早期实施吗?我今天需要吗?

现在,当我处理一些使用 q.js 的(4-5 岁)代码时,我经常看到我的调用堆栈充满了对 q.js 的调用,当我添加代码时,我我假设正在使用本机 Promise 实现。我想从项目中删除 q.js,但我对它为原生 Promise 实现增加了什么价值还没有足够深入的了解。是否只是为了支持没有 Promise 实现的浏览器?还是有其他事情发生?

我在 q.js 文档中找到了这个选项,用于解决调用堆栈问题 - Q.longStackSupport = true;但经过更多测试后,我最终删除了 q.js,因为本机 Promise 实现正在完成我需要的所有工作。