我使用Bluebird进行承诺并尝试允许链调用但是使用.bind()似乎不起作用.我正进入(状态:
TypeError:sample.testFirst(...).testSecond不是函数
第一个方法被正确调用并启动了promise链但是我还没有能够让实例绑定工作.
这是我的测试代码:
var Promise = require('bluebird'); SampleObject = function() { this._ready = this.ready(); }; SampleObject.prototype.ready = function() { return new Promise(function(resolve) { resolve(); }).bind(this); } SampleObject.prototype.testFirst = function() { return this._ready.then(function() { console.log('test_first'); }); } SampleObject.prototype.testSecond = function() { return this._ready.then(function() { console.log('test_second'); }); } var sample = new SampleObject(); sample.testFirst().testSecond().then(function() { console.log('done'); });
我正在使用最新的蓝鸟通过:
npm install --save bluebird
我接近这个错吗?我将不胜感激任何帮助.谢谢.