当承诺不能传递给第三方图书馆时该怎么办?

我正在使用node.js库nomnom进行命令行parsing和bluebird的promise。

Nomnom提供通过callback来执行命令 。 不幸的是,callback不支持返回的承诺。

我想知道,处理这个接口不匹配的最好方法是什么? 我正在考虑添加一个忙碌循环,直到承诺解决/拒绝(使用isPending)在这种情况下。 有没有更好的办法 ?

var parser = require("nomnom"); parser.command('somecommand').callback(function(opts) { var p = thisFuncReturnsAPromise(); //have to block here since //nomnom expects at the end of the callback that processing of the command is done. }) 

 var promise = new Bluebird(function(resolve, reject) { //Create a promise myLib.doStuff(function() { resolve(); //In a callback you resolve the promise }); }); promise.then(function() { //Use the promise console.log('Stuff done'); });