私は、CouchDbで使用されるnanoライブラリを使用して、NodeJでbluebirdの約束を使用しようとしています。私はpromisfyを使用し、見たときに新しい非同期メソッドを取得します。次の例では、nano.db.listAsync
呼び出しは正常に機能しますが、.then または .catch には到達しません。
ここで何が問題なのですか?
var nano = require('nano')(this.appInfo.dbServiceUrlPrefix);
Promise.promisifyAll(nano);
Promise.promisifyAll(nano.db);
var p = nano.db.listAsync(function(err,body) {
// get all the DBs on dbServiceUrlPrefix
var dbNames:string[] = <string[]> body ;
console.log("allDbs",dbNames) ;
return dbNames ;
}).then(function (e:any) {
console.log('Success',e);
}).catch(function(e:any){
console.log('Error',e);
});