catalog-backend: update entities response writing

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
Patrik Oldsberg
2024-12-12 14:23:39 +01:00
parent b018b8e7e6
commit d706bb5b34
@@ -78,15 +78,18 @@ export async function writeEntitiesResponse(
const prefix = first ? '[' : ',';
first = false;
await new Promise((resolve, reject) => {
res.write(prefix + entity, 'utf8', err => {
if (err) {
reject(err);
} else {
resolve(err);
}
const needsDrain = !res.write(prefix + entity, 'utf8');
if (needsDrain) {
await new Promise<void>(resolve => {
const cont = () => {
res.off('drain', cont);
res.off('close', cont);
resolve();
};
res.on('drain', cont);
res.on('close', cont);
});
});
}
}
res.end(`${first ? '[' : ''}]${trailing}`);
}