Javascript 用bluebird向已承诺的图书馆承诺

Javascript 用bluebird向已承诺的图书馆承诺,javascript,node.js,promise,bluebird,io.js,Javascript,Node.js,Promise,Bluebird,Io.js,如果一个库公开了一个基于承诺的API,该API不是基于bluebird的,但没有公开传统的回调API,那么有没有办法“承诺”该库返回bluebird承诺 目前,我要么将承诺返回到bluebird上下文,要么如果我想直接使用任何bluebird特定的函数,那么就用bluebird的promise.resolve来包装调用 我相信这在ES2015代理中是可能的,但Node.js和Node.js都不可能™, io.js和Babel都不支持它们 在没有代理的情况下,有没有一种明智的方法可以做到这一点?使

如果一个库公开了一个基于承诺的API,该API不是基于bluebird的,但没有公开传统的回调API,那么有没有办法“承诺”该库返回bluebird承诺

目前,我要么将承诺返回到bluebird上下文,要么如果我想直接使用任何bluebird特定的函数,那么就用bluebird的promise.resolve来包装调用

我相信这在ES2015代理中是可能的,但Node.js和Node.js都不可能™, io.js和Babel都不支持它们


在没有代理的情况下,有没有一种明智的方法可以做到这一点?

使用promisifier选项

Promise.promisifyAll(lib, {
     promisifier: function(fn) {
         return function () {
              return Promise.resolve(fn.apply(this, arguments));
         }
     }
});

使用promisifier选项

Promise.promisifyAll(lib, {
     promisifier: function(fn) {
         return function () {
              return Promise.resolve(fn.apply(this, arguments));
         }
     }
});

使用promisifier选项

Promise.promisifyAll(lib, {
     promisifier: function(fn) {
         return function () {
              return Promise.resolve(fn.apply(this, arguments));
         }
     }
});

使用promisifier选项

Promise.promisifyAll(lib, {
     promisifier: function(fn) {
         return function () {
              return Promise.resolve(fn.apply(this, arguments));
         }
     }
});

他们在使用什么promise库?他们在使用什么promise库?他们在使用什么promise库?他们在使用什么promise库?