I ran into an interesting typescript/js problem yesterday at work.
The following code snippet was generating an error and a stack trace that was never being propagated up to the caller:
return new Promise(async (resolve, reject) => {
const data = await this.client.getObject(bucket, path);
const buf: any[] = [];
data.on("data", (data) => {
buf.push(data);
});
data.on("error", (err) => {
reject(err);
});
data.on("end", () => {
resolve(JSON.parse(Buffer.concat(buf).toString()));
});
});
Read more...