在将几条记录插入 Postgres 数据库后,我的 Nodejs 应用程序使用 knex 中断并出现以下错误:
未处理的拒绝错误
aborted at PendingOperation.abort (/mnt/c/Users/*********/node_modules/tarn/lib/PendingOperation.js:25:17)
at Promise.all.pendingAcquires.map.acquire (/mnt/c/Users/*********/node_modules/tarn/lib/Pool.js:190:23)
at Array.map (native)
at Promise.all.then.then (/mnt/c/Users/*********/node_modules/tarn/lib/Pool.js:189:34)
来自上一个事件:
at Client_PG.acquireConnection (/mnt/c/Users/*********/node_modules/knex/lib/client.js:335:34)
at /mnt/c/Users/*********/node_modules/knex/lib/transaction.js:191:41
来自上一个事件:
at Transaction.acquireConnection (/mnt/c/Users/*********/node_modules/knex/lib/transaction.js:190:34)
at new Transaction (/mnt/c/Users/*********/node_modules/knex/lib/transaction.js:68:53)
at Client_PG.transaction (/mnt/c/Users/*********/node_modules/knex/lib/client.js:159:12)
at Function.transaction (/mnt/c/Users/*********/node_modules/knex/lib/util/make-knex.js:75:21)
这是它中断的代码:
const writeOrdersToDB$ = (order: Order): Observable<Order> => {
const orderToInsert = cleanOrder(order);
return Observable.fromPromise(knex.transaction((trx: Transaction) => trx('order')
.insert(orderToInsert)
.returning('*')));
};
最佳答案
试试这个,它解决了我的问题:
这有效:
finally(x => knex.destroy());
这不起作用:finally(knex.destroy());
关于javascript - 在将少量记录插入 Postgres 数据库后,Nodejs 应用程序使用 knex 中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50783561/