Невозможно использовать пул после вызова end в пуле TypeORM queryBuilder - PullRequest
0 голосов
/ 21 ноября 2018

Я пробую кое-что с помощью построителя запросов TypeORM.Однако после выполнения кода, показанного ниже, я продолжаю получать ошибку

(node:25699) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 3): Error: Cannot use a pool after calling end on the pool

Если имеет значение, если я сначала добавлю отношение user или отношение location, потому что оноидет первым добавляется как отношение, как ожидалось.Тот, что после этого продолжает выдавать ошибку.

userIds.forEach(async (userId, i) => {
  await getConnection()
    .createQueryBuilder()
    .relation(Pin, "user")
    .of(pinIds[i])
    .set(userId);

  await getConnection()
    .createQueryBuilder()
    .relation(Pin, "location")
    .of(pinIds[i])
    .set(locationIds[i]);
});

1 Ответ

0 голосов
/ 21 ноября 2018

Я решил эту проблему, создав соединение только один раз и установив отношения с этим соединением.

const connection = await getConnection();
userIds.forEach(async (userId, i) => {
  connection
    .createQueryBuilder()
    .relation(Pin, "user")
    .of(pinIds[i])
    .set(userId);

  connection
    .createQueryBuilder()
    .relation(Pin, "location")
    .of(pinIds[i])
    .set(locationIds[i]);
});
...