[過去ログ]
Go language part 5 (1002レス)
Go language part 5 http://mevius.5ch.net/test/read.cgi/tech/1645915400/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
890: デフォルトの名無しさん [sage] 2025/05/18(日) 13:19:05.01 ID:eaOArS/2 >>887 プログラミング初心者かよ コールバックがあればPromise作って返せるからasync/awaitを使える そういう基本的なことを知らずに批判しているのか? 仕組みを理解せずに表層的にasync/awaitを見てるからそうなる http://mevius.5ch.net/test/read.cgi/tech/1645915400/890
893: デフォルトの名無しさん [sage] 2025/05/18(日) 14:00:53.82 ID:eaOArS/2 >>891 Promise作るのにどこに面倒があるんだ? プログラミングしたことがないエアプかよ 自作できないならお子様向けのpromisifyもあるだろ http://mevius.5ch.net/test/read.cgi/tech/1645915400/893
894: デフォルトの名無しさん [sage] 2025/05/18(日) 14:05:05.90 ID:eaOArS/2 >>892 呆れた 表層的知識でPromiseの理解と実装をできないからそんな勘違いを犯すんだな JavaScriptならasync/awaitはPromiseのシンタックスシュガーだ Promiseを作って返したらそのままasync対応したことになるのが一番の基礎だぞ http://mevius.5ch.net/test/read.cgi/tech/1645915400/894
897: デフォルトの名無しさん [sage] 2025/05/18(日) 14:46:40.43 ID:eaOArS/2 >>895 まだ理解できていないんだな? JSのasync関数はその返値のPromiseを返す関数そのままのシンタックスシュガーだ 他の言語ではasync関数がその返値のPromise(やFuture)を返す関数そのままではなくコルーチンなどステートマシンを伴うこともあるがJSはそのままで完成という本質的な違いがある http://mevius.5ch.net/test/read.cgi/tech/1645915400/897
899: デフォルトの名無しさん [sage] 2025/05/18(日) 14:56:03.43 ID:eaOArS/2 >>896 おまえは別のやつの書き込みと勘違いしているな 書き込みを見返してみろ 俺はシングルスレッドにすぎないJavaScriptのasync/awaitが優れているとは一度も言ってないぞ 強いて言えば非同期タスクをスタックレスで実現しているRustのasync/awaitだろうな Goroutineと同じN:Mモデルをスタックレスと両立させている http://mevius.5ch.net/test/read.cgi/tech/1645915400/899
902: デフォルトの名無しさん [sage] 2025/05/18(日) 15:12:48.04 ID:eaOArS/2 >>901 アホかよ Promiseを返すだけの普通の関数がそのままasync関数の代わりに使えるんだぞ その返したものをawait promise;とそのままawaitできる シンタックスシュガーだからな http://mevius.5ch.net/test/read.cgi/tech/1645915400/902
905: デフォルトの名無しさん [sage] 2025/05/18(日) 15:47:15.22 ID:eaOArS/2 >>903 C#やRustなどの言語はステートマシンにする必要があるがJavaScriptはそのまま行けるところが最大の特徴 asyncもPromiseもないコールバックだけの時代からなぜコールバック待ちの間に無関係な他の関数が実行できるのかを理解できなかったのか? その枠組があるから多数の非同期イベントが飛び交うブラウザ内でも並行処理ができる 知らないなら基礎だから勉強しろ http://mevius.5ch.net/test/read.cgi/tech/1645915400/905
907: デフォルトの名無しさん [sage] 2025/05/18(日) 16:10:19.90 ID:eaOArS/2 >>906 なんだ少しは理解してるじゃないか 言語の中でepollなどでイベントループを抱え込んでいてそれがPromiseもasyncも無い大昔からJavaScriptは同じ つまりasync/awaitなんか関係なく初めからイベントループを内蔵している これはWebブラウザという無数に非同期タスクが飛び交う必要性からその仕様となった そのためC#などより早く非同期タスクが実現されてきた そのためC#などようなステートマシン変換なんか必要とせずに単なるシンタックスシュガーだけでasync/awaitも導入できている http://mevius.5ch.net/test/read.cgi/tech/1645915400/907
910: デフォルトの名無しさん [sage] 2025/05/18(日) 16:42:27.02 ID:eaOArS/2 >>909 おまえまだ別人と勘違いしてるのか 俺はシングルスレッドにすぎないJavaScriptの非同期が優れているとは一度も言ってないぞ CPUコアスレッドを透過的に使いこなせるN:Mモデルが一番優れていると伝えただろ http://mevius.5ch.net/test/read.cgi/tech/1645915400/910
912: デフォルトの名無しさん [sage] 2025/05/18(日) 16:54:47.55 ID:eaOArS/2 >>911 何度も説明しているのに理解できないのは呆れる async/awaitなんか導入する前からJavaScriptはPromiseで非同期に動いている シンタックスシュガーにすぎないasync/await記法の導入によってステートマシンの導入なんか必要ない http://mevius.5ch.net/test/read.cgi/tech/1645915400/912
918: デフォルトの名無しさん [sage] 2025/05/18(日) 23:50:58.93 ID:eaOArS/2 >>915 帰ってきたがまだ理解できてないのか Promiseは何か秘密な仕組みや秘密なシステムや秘密なランタイムがあるわけではなく単なるデータだ Promiseを介することでステートマシンなんか使うことなくasync関数を通常関数に自動変換できる 例えばこんなasync関数がある時 async function delay(n) { await new Promise((resolve, reject) => setTimeout(resolve, n * 1000)); return n; } async function foo() { console.log("hello"); let a = await delay(1); let b = await delay(2); let c = a + b; console.log(`${a} + ${b} = ${c}`); return c; } http://mevius.5ch.net/test/read.cgi/tech/1645915400/918
919: デフォルトの名無しさん [sage] 2025/05/18(日) 23:54:17.15 ID:eaOArS/2 >>918のasync関数fooは以下のように機械的に通常関数fooへと自動変換できる ステートマシンを使う必要はない function foo() { return new Promise((resolve, reject) => { console.log("hello"); delay(1).then((_x1) => { let a = _x1; delay(2).then((_x2) => { let b = _x2; let c = a + b; console.log(`${a} + ${b} = ${c}`); resolve(c); }); }); }); } http://mevius.5ch.net/test/read.cgi/tech/1645915400/919
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.235s*