在Node.js v7.8.0中,我有一个模块foo.js
:
class Foo {
async bar() { return 'bar' }
}
在主模块app.js
中,我将Bluebird分配给全局Promise:
global.Promise = require('bluebird')
。
在'app.js'我有:
const Foo = require('./foo);
let foo = new Foo();
foo.bar().tap(res => console.log(res));
我假设自从用Bluebird替换全局Promise后,对异步函数的调用将返回一个Bluebird promise(有.tap
),但显然我错了,因为我收到了错误:
TypeError: foo.bar(...).tap is not a function
有没有办法达到我的目的?