私は pg ライブラリで bluebird の約束を使用しようとしてきましたが、この投稿を見つけましたが、悲しいことに、私は StackOverflow ユーザーに慣れていないため、そこに直接コメントすることはできません。
簡単に言えば、そのコードのカット アンド ペーストを行った後に bluebird Promisfy 関数で試したすべてのことは、クエリ コンストラクターのいずれも取得しません。私が試したすべての結果が次のようなバリエーションになるため、これが迅速かつ簡単な助けになることを願っています。
Possibly unhandled TypeError: Object function (err) {
if(err) {
pool.destroy(client);
} else {
pool.release(client);
}
} has no method 'queryAsync'
PromisfyAll 関数の結果をダンプしましたが、十分な queryAsync が存在しないことを確認してください。
関連スニペット:
Client: { [Function] Query: { [Function] super_: [Object] } },
Query:
{ [Function]
super_: { [Function: EventEmitter] listenerCount: [Function] } },
pools:
{ all: {},
Client: { [Function] Query: [Object] },
getOrCreate: [Function] },
Connection:
{ [Function]
super_: { [Function: EventEmitter] listenerCount: [Function] } },
types:
{ getTypeParser: [Function],
setTypeParser: [Function],
arrayParser: { create: [Function] } },
ClientAsync: { [Function: ClientAsync] __isPromisified__: true },
endAsync: { [Function: endAsync] __isPromisified__: true },
connectAsync: { [Function: connectAsync] __isPromisified__: true },
cancelAsync: { [Function: cancelAsync] __isPromisified__: true },
setMaxListenersAsync: { [Function: setMaxListenersAsync] __isPromisified__: true },
emitAsync: { [Function: emitAsync] __isPromisified__: true },
addListenerAsync: { [Function: addListenerAsync] __isPromisified__: true },
onAsync: { [Function: onAsync] __isPromisified__: true },
onceAsync: { [Function: onceAsync] __isPromisified__: true },
removeListenerAsync: { [Function: removeListenerAsync] __isPromisified__: true },
removeAllListenersAsync: { [Function: removeAllListenersAsync] __isPromisified__: true },
listenersAsync: { [Function: listenersAsync] __isPromisified__: true } }
解析で関連する関数を見つけますが、クエリを約束しません:これをさらにトラブルシューティングする方法や、ClientAsync で SQL クエリを実行するための潜在的な構文を知っている人はいますか? Bluebird github ページの情報から pg query.js ファイルを手動で追加しようとしましたが、役に立ちませんでした。