问题 This is my code: var promiseResult = new BBpromise(function(resolve, reject){ console.log(1) // some actions setTimeout(function(){ resolve(); }, 2000); }).cancellable().catch(BBpromise.CancellationError, function(e){ console.log(e); }); promiseResult.then(function(){ console.log('AYYYY'); }); promiseResult.cancel(new BBpromise.CancellationError()).then(function(s){ console.log('canceled ?'); }); And I'm getting the following output: BTW.. the output seems to be immediate. Seems like if just