promisied errors handling for await
by Yury
HTML
<p>
promisied errors handling for await
</p>
CSS
* {
background: #1e1e1e;
font-family: sans-serif;
color: #c0c0c0;
text-align: center;
}
TypeScript
/** promisied errors handling for await (in case await falls with some internal error as MySQL query falls, bash command internal error ) **/
public static handleAwait(promise) {
return promise.then(data => ({
ok: true,
data
})).catch(error => Promise.resolve({
ok: false,
error
}));
}
// using:
const {
ok,
error,
data
} = await handleAwait(someAwiatMethod());
if (error || !data) {
logger.error('some await method error: ', error);
throw new Error('someAwaitMethodError');
// throw new Error(error.message ? ': ' + error.message : 'someAwaitMethodError');
}
return data;