【JavaScript】awaitを使用しない関数でasyncを使用するメリットは?
- 関数内で例外をthrowする場合、例外が同期的にthrowされるのではなく、rejectされる。
const func1 = async () => { throw new Error('error'); } const func2 = () => { throw new Error('error'); } const test1 = async (func) => { try { await func(); } catch(e) { console.log('catch'); console.log(e); } } const test2 = (func) => { const onSuccess = () => { console.log('then'); }; const onError = (e) => { console.log('catch'); console.log(e); }; func().then(onSuccess).catch(onError); } test1(func1); // catch節が実行される test1(func2); // catch節が実行される test2(func1); // catchが実行される。 test2(func2); // catchが実行されない。