こんなコードを書いてみました。
function asyncRun(callback) { callback('async'); console.log('asyncRun is called'); callback('async'); } function syncRun(callback) { callback('sync'); console.log('syncRun is called'); callback('sync'); } function asyncFunc(value) { setImmediate(() => { console.log(value); }) } function syncFunc(value) { console.log(value); } console.log('=1=') asyncRun(asyncFunc); console.log('=2=') syncRun(syncFunc); console.log('=3=')
ログ出力をみると結果はこうです。
=1= asyncRun is called =2= sync syncRun is called sync =3= async async
非同期処理は全ての同期処理が終わってから実行開始されるという解釈で良いのでしょうか?
例えば、同期処理の数がものすごく多い場合は、それらが全て終わってからではないと、非同期処理は実行されないのでしょうか?
あ、あれ?普通、非同期処理が先に走りませんでしたっけ?
なんで、こういう順序になってるんだろ。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。