Javascript 我可以同时使用不同的promise实现吗?

Javascript 我可以同时使用不同的promise实现吗?,javascript,node.js,Javascript,Node.js,我写了一篇文章来部署一个web项目。它首先通过FTP上传一堆文件,然后向一个发布消息的服务器发送请求 我不熟悉JavaScript和Node.js,在我第一次编写代码时不知道承诺。我现在正在将它从使用嵌套回调转换为带有Promise中节点构建的承诺 用于向我一直使用的bot发出HTTP请求。还有另一个图书馆叫“使用蓝鸟承诺”。这些是否与内置的promise实现兼容?有什么我需要注意的地方吗 有一个站点列表,但是Node.js和Chromium都没有列出。这是否意味着我不能同时使用它们?它们是兼容

我写了一篇文章来部署一个web项目。它首先通过FTP上传一堆文件,然后向一个发布消息的服务器发送请求

我不熟悉JavaScript和Node.js,在我第一次编写代码时不知道承诺。我现在正在将它从使用嵌套回调转换为带有
Promise
中节点构建的承诺

用于向我一直使用的bot发出HTTP请求。还有另一个图书馆叫“使用蓝鸟承诺”。这些是否与内置的promise实现兼容?有什么我需要注意的地方吗


有一个站点列表,但是Node.js和Chromium都没有列出。这是否意味着我不能同时使用它们?

它们是兼容的。可能有些实现略有不同,但主要的承诺流程是相同的。Bluebird似乎比native Node.JS实现更快。

您必须相信

bluebird
是节点中当前内置的
Promise
实现的超集。也就是说,除了
bluebird
有更多的特性/方法外,您可以互换使用它们。与其试着把它们混在一起,我宁愿到处使用
bluebird

但是,如果你真的不想这样做,那么把承诺联系在一起也不会有什么不同。以下仍按预期记录了hello

let bluebird = require("bluebird");

new bluebird(resolver => resolver())
.then(() => new Promise(resolver => resolver()))
.then(() => console.log("hello"));

使用
Promise=require(“蓝鸟”)
也很常见。

是的,新的本机ES6承诺也符合promises/A+标准。在那里列出它们。