2015-09-13 85 views
2

我寫了a script來部署一個web項目。它首先通過FTP上傳一堆文件,然後發送一個請求到chat bot,發送消息到https://chat.stackexchange.com/我可以一起使用不同的承諾實施嗎?

我是JavaScript和Node.js的新手,並且在第一次編寫代碼時不知道承諾。我現在正在將它從使用嵌套回調轉換爲節點內置Promise的承諾。

爲了向機器人發送HTTP請求,我一直在使用request。還有另一個名爲request-promise的圖書館使用藍鳥承諾。這些與內置的promise實現是否兼容?有什麼需要注意的問題嗎?

有一個網站列表Conformant Promise/A+ Implementations,但沒有列出Node.js和Chromium。這是否意味着我不能一起使用它們?

+1

是的,新的本地ES6承諾也符合Promise/A +標準。 [也許我們應該](https://github.com/promises-aplus/promises-spec/issues/211)在那裏列出。 – Bergi

回答

2

你必須信任聲稱Request-promise is a drop-in replacement for Request

bluebird是建在節點Promise執行當前的超集。也就是說,除了bluebird具有更多功能/方法外,您可以互換使用它們。而不是試圖混合他們,我只會在任何地方都使用bluebird

但是,如果你真的不想要,在承諾鏈接方面應該沒有什麼區別。按照預期,以下仍然記錄hello。使用Promise = require("bluebird")也是很常見的。

1

它們是兼容的。可能有些實現有點不同,但主要的Promise流程是相同的。藍鳥似乎比原生的Node.JS實現更快。

相關問題