パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

続 promise とか、 async とか、よくわからない」記事へのコメント

  • by Anonymous Coward on 2022年04月26日 15時41分 (#4239709)

    async/awaitは抽象概念ですが、Promiseはかなり実装よりです。
    実装を通じて覚えるとあとあと苦労します。structの拡張でclassを覚えてしまうとか。

    • by Anonymous Coward on 2022年04月27日 12時54分 (#4240347)

      抽象概念の方は一般的な並列処理のやり方知ってりゃさほど難しくないのだけど、
      コールバックやポーリングで構成された従来のAPIをasync/awaitに持ち込む時は
      Promise関連の実装スタイルを知らないと無理なんで、
      JavaScriptのコレ関係で実装寄りの理解を覚えるのはしゃーない気が。

      structベースで覚えるのも概念だけではよくわからん人には有用な所あるしなぁ……
      やりたい事とざっくりどうやってやってるのかを両方知ってる方が良いのかもしれん。

      親コメント
    • by Anonymous Coward

      えっclassってprototypeの糖衣構文じゃないの(すっとぼけ)

    • by Anonymous Coward

      でもcallbackを変換するときとか、Promiseを使う必要がある場合もある

    • by Anonymous Coward

      よくにたものにfutureや関数型言語の遅延評価があります。
      futureは並列計算が発祥で、たとえば

      fib(n-1) + fib(n-2)

      なら二つのfibの計算をフォークします。fibのようにプロセスが終了して結果を使うこともあれば、探索のようにフォークしたプロセスを殺して終わることもあります。

      遅延評価は「値が本当に必要になるまで計算はしない」ことを保証しています。if x y zのように、どちらかは必ず不要になる計算がよく見られます。

      async/awaitは「ネットワークやI/Oなど、遅延の大きな処理を裏で実行したい」という要求から生まれたもので、外部への副作用をともなうことが多いので、「async関数一つの呼び出しにかならずawaitが一つ対応する」のが原則になります。

クラックを法規制強化で止められると思ってる奴は頭がおかしい -- あるアレゲ人

処理中...