(
node: DoublyLinkedNode<RedisClientType<M, F, S, RESP, TYPE_MAPPING>>,
resolve: <T>(value: T | PromiseLike<T>) => void,
reject: (reason?: unknown) => void,
fn: PoolTask<M, F, S, RESP, TYPE_MAPPING>
)
| 488 | } |
| 489 | |
| 490 | #executeTask( |
| 491 | node: DoublyLinkedNode<RedisClientType<M, F, S, RESP, TYPE_MAPPING>>, |
| 492 | resolve: <T>(value: T | PromiseLike<T>) => void, |
| 493 | reject: (reason?: unknown) => void, |
| 494 | fn: PoolTask<M, F, S, RESP, TYPE_MAPPING> |
| 495 | ) { |
| 496 | const result = fn(node.value); |
| 497 | if (result instanceof Promise) { |
| 498 | result |
| 499 | .then(resolve, reject) |
| 500 | .finally(() => { |
| 501 | this.#returnClient(node); |
| 502 | }) |
| 503 | } else { |
| 504 | resolve(result); |
| 505 | this.#returnClient(node); |
| 506 | } |
| 507 | } |
| 508 | |
| 509 | #returnClient(node: DoublyLinkedNode<RedisClientType<M, F, S, RESP, TYPE_MAPPING>>) { |
| 510 | const task = this.#tasksQueue.shift(); |
no test coverage detected