エラーハンドリングにtry-catchを使うと、ネストされるので変数のスコープ上constが使いにくいconst errorThrow = cond => { return new Promise((resolve, reject) => cond ? resolve({ result: 'success' }) : resolve({ error: 'fail' }) ); }; const main = async () => { const { result, error } = await errorThrow(true); console.log({ result, error }); }; main();