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;