PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come aggiungere un timeout di richiesta in Typeorm/Typescript?

Per lavorare con una connessione specifica dal pool, usa createQueryRunner non ci sono informazioni a riguardo nei documenti ma è documentato nelle api .

Esempio di utilizzo:

const foo = <T>(callback: <T>(em: EntityManager) => Promise<T>): Promise<T> => {
    const connection = getConnection();
    const queryRunner = connection.createQueryRunner();

    return new Promise(async (resolve, reject) => {
        let res: T;
        try {
            await queryRunner.connect();
            // add logic for timeout
            res = await callback(queryRunner.manager);
        } catch (err) {
            reject(err);
        } finally {
            await queryRunner.release();
            resolve(res);
        }
    });
};