【发布时间】:2019-06-15 00:36:33
【问题描述】:
我有一个打字稿模块。
public multipleQuery(queries: string[]) {
return new Promise(async (resolve, reject) => {
const cPool = new sql.ConnectionPool(this.room.db);
await cPool.connect().then((pool: any) => {
const transaction = new sql.Transaction(pool);
return transaction.begin(async (err: any) => {
const request = new sql.Request(transaction, { stream: true });
try {
queries.forEach(async (q) => {
await request.query(q);
});
transaction.commit((err2: any) => {
pool.close();
if (err2) {
reject(err2);
} else {
resolve(true);
}
});
} catch (err) {
transaction.rollback(() => {
pool.close();
reject(err);
});
}
});
}).catch((err: Error) => {
cPool.close();
reject(err);
});
});
}
queries变量是一个字符串数组,我在里面放了很多sql插入查询。
不管我在查询中写什么,我仍然收到这个错误,为什么?
RequestError: 请求只能在 LoggedIn 状态下进行,不能在 SentClientRequest 状态 TransactionError:无法获取连接 请求。还有一个请求正在进行中。
【问题讨论】:
-
stackoverflow.com/questions/68791811/…你能帮我找到解决办法吗?
标签: node.js typescript promise