初歩的な質問なのですが、JavaScriptで非同期処理を書く場合にはPromiseやasync awaitを使ってフロー制御をすると思うのですが、その場合同期処理と同じになるという解釈で合っているでしょうか?
もうそうだとすれば、非同期処理であることのメリットがなくなってしまうように思うのですが、実際どのような形で非同期処理の特徴が活かされているのでしょうか?
###追記
フロー制御はあくまで非同期処理を同期的に実行するだけで、非同期処理であるということは変わりないという回答をいただきました。
しかし、awaitをつけた処理が実行されている間はそれ以降のプログラムは実行されないのだから、結局同期処理と変わらないような気がしてしまいます。
「同期処理」と「非同期処理を同期的に実行する」ことの違いは何なのでしょうか?
###追記2
const axios = require('axios'); const main = async ()=>{ let res = await axios.get("https://google.com/") console.log(res.status) console.log("終了"); } main();
想定しているasync awaitの使い方は上記のような形です。
awaitで待ってからconsole.logを実行するからresに値が入ると思っていたのですが、間違っているのでしょうか?
このような場合、http通信をしている間に別のプログラムが実行できるということがいまいちイメージできません。
理解が不十分で申し訳ないです。お付き合い頂けると助かります。
回答2件
あなたの回答
tips
プレビュー