タグ

Asyncに関するrgfxのブックマーク (11)

  • Promise のキャンセルについて - Qiita

    [ English version ] JavaScript と Node.js についてのこの徹底した投稿では、Promises のキャンセルの歴史、なぜNode.jsに関係があるのか、そして async/await APIで使おうとしたときに注意すべきことについて学ぶことができます。 この投稿は、JavaScript の Promise API をよく理解していて、 Node.js の経験がある方のためのものです。 歴史 2014 年に Promise API がブラウザに導入されて以来、人々は Promise で他に何ができるかを調べていました。ブラウザに最初に登場した関連APIは、HTTP リクエストのための fetch() でした。 HTTP リクエストの問題は、サーバーのリソースを消費することであり、サーバーに送信されるリクエストの数が多い場合はお金がかかります。このため、特に

    Promise のキャンセルについて - Qiita
  • async/await は Promise を置き換えない - Okapies' Archive

    まとめ async/await 構文は、Promise で書ける処理のうち特定のケースしか表現できない 特定のケースとは、ある非同期処理の前処理と後処理がそれぞれ 1 個ずつの場合のみである async/await 構文は初心者に非同期処理を導入する際に適しているが、非同期処理を逐次処理として書けるという幻想を与えるので、どこかで知識をアップデートする機会を設けるべきである この記事はなに? 少しバズったのでまとめておこうかと。 「async/await があれば Promise なんて難しいものは要らない!」とか言ってるウブな子に、複数の API に並列にリクエストを投げて一つ以上成功した時だけ先に進む、みたいな問題を与えて愛でてみたい。— Yuta Okamoto (@okapies) 2020年12月11日 async/await は Promise のネストを手続き的なコードに見え

    async/await は Promise を置き換えない - Okapies' Archive
  • 【JavaScript】本日未明、[ async - await ]さんが死体で発見され... - Qiita

    「な、なんじゃこりゃあああぁあっtっt!!!!」 ・・・ ・・・ ・・・ 非同期処理を"ちゃんと"理解して使いたい 『非同期処理なんとなくの理解で書いている...』 『動いてるし、ヨシ!』 令和プログラマー*1である私自身、なるべく気を付けようと思っていますが、ついついなんとなくで書いてしまいそうになります。 (*1: 令和になってからプログラミングを知った人。初心者のこと。) ちなみに冒頭のコードは、「並列でいける処理をつい直列でやってしまっている」 例です。 実際に手を動かしながら非同期処理の理解を深める 記事は以下の構成で、順を追って非同期処理を学習し、明日から自信を持って非同期処理が書けるようになるためのハンズオンです。 JSの非同期処理について知る Promise について知る Async / Await を使えるようにする 冒頭のコードがリファクタリングできるようになる 実際

    【JavaScript】本日未明、[ async - await ]さんが死体で発見され... - Qiita
  • Deep Dive async/await in Unity with UniTask(UniRx.Async)

    動画と一緒にみてね : https://www.youtube.com/watch?v=SSv9zoM1Rn4 【年末だよ】Unity お・と・なのLT大会 2019 https://meetup.unity3d.jp/jp/events/1178

    Deep Dive async/await in Unity with UniTask(UniRx.Async)
  • Reactの次期機能のSuspenseが凄くって、非同期処理がどんどん簡単になってた! - Qiita

    React17の次期新機能のSuspenseが凄い! と思ったので少し学習していました! Suspense自体の説明は下の動画がわかりやすいかも。 13:15ぐらいからプログラムのDemo 29:30ぐらいからSuspenseとはなんぞや、という説明をしてくれています。 Githubにdemoもあったので、実際に動かしてみたい方はこちらも是非是非 つまりSuspenseって何? Suspenseっていう機能があるわけじゃないんです、すみません 概念というかなんといいますか 自分の意訳・解釈なので間違っていたら土下座しに行きます 外部APIからデータを取得・表示するような処理で使えるんですね。 読み込みを開始したらLoadingを出して、APIが戻ってきたらデータを表示してローディングを消して……っていう、reduxやsagaを使って今まで頑張ってきているものがあると思うんですね。 API

    Reactの次期機能のSuspenseが凄くって、非同期処理がどんどん簡単になってた! - Qiita
    rgfx
    rgfx 2018/09/20
    おうっふ
  • Swiftでasync/awaitな書き方もできるPromiseライブラリHydra - Qiita

    Promiseは非同期処理を直列実行したい時に問題となるコールバック地獄を解決したり、並列実行したそれぞれの処理の終了タイミングを制御することのできる非同期処理のデザインパターンの1つです。 SwiftではPromiseKitSwiftTaskが有名ですね。 また、最近ではRxなどのReactive系ライブラリを使ってPromise処理をすることが多いと思います。 今回はasync/awaitライクなこともできるPromiseライブラリのHydraの使い方や解説をします。 Hydraとは Hydra SwiftDateやSwiftLocationの作者であるmalcommacさんが作成しています Hydraの使い方 まずは、Hydraの使い方を簡単に紹介します。 使い方はPromiseというオブジェクトを生成して、様々なオペレーターをチェーンしていきます。 Promiseを知っている方な

    Swiftでasync/awaitな書き方もできるPromiseライブラリHydra - Qiita
    rgfx
    rgfx 2017/06/13
    Swiftでもあることはあるんだ
  • JavaScriptは如何にしてAsync/Awaitを獲得したのか Qiita版 - Qiita

    はじめに JavaScriptは如何にしてAsync/Awaitを獲得したのか - がおさんち 技術部屋 ※事前に↑の記事は読まなくても大丈夫です という記事を、以前に個人ブログの方に書いたのですが、私も今年からはQiita始めたので、この記事をリファインして再度書いてみようと思います。 また、この記事では↑の記事では書ききれなかった話もいくつか増やしています。 例えば、不定回数実行されるPromiseの話だとか、非同期処理における例外処理周りの面倒くさい話だとか。 そういうちょっとだけ高度な話も混ぜつづ、前回書いたものよりもクオリティを上げるのを目標にします。それではいきます。 第一章 ~人類はsetTimeoutを採用しました~ 古代のJavaScriptで、以下のような処理をしたい場合、どうしていたでしょうか。 ブラウザ更新直後に『a』を表示し、その2秒後に『b』を表示し、更にその1

    JavaScriptは如何にしてAsync/Awaitを獲得したのか Qiita版 - Qiita
  • Async Functions はなぜ良いのか - Qiita

    忙しい人向け 読みやすいから。 JavaScriptは如何にしてAsync/Awaitを獲得したのかもぜひ読みましょう。 ひまな人向け Chrome は55から、 Node.js は7.6 からデフォルトで Async Functions (async/await) をサポートしました。 これは明らかに世界平和に近づく出来事です。 サンプル問題 Async Functions は事前に回数が決まっている非同期処理も書きやすくなりますが、真価を発揮するのは何回実行するか実行時までわからない非同期処理です。 今回は例として、(最大の試行回数、試行間の待機時間(ms)、実際の処理の Promise)を引数として受け取り、 Promise を返すというプログラムを考えてみます。 最大試行回数は10回 試行間の待機時間は100 ms 処理の内容は ランダムで 0〜100 の数字を生成する 95 以上

    Async Functions はなぜ良いのか - Qiita
  • AsyncとAwait : コールバック地獄を避けるための最新のやり方、そしてその未来 | POSTD

    (2016/7/7、いただいたフィードバックを元に記事を修正いたしました。) JavaScript、特にNode.jsといえば、 コールバック地獄 がよく連想されます ^(1) 。たくさんの非同期I/Oを扱うコードを書いたことがある方には、おそらく以下のようなパターンはおなじみでしょう。 export default function getLikes () { getUsers((err, users) => { if (err) return fn(err); filterUsersWithFriends((err, usersWithFriends) => { if (err) return fn(err); getUsersLikes(usersWithFriends, (err, likes) => { if (err) return fn (err); fn(null, lik

    AsyncとAwait : コールバック地獄を避けるための最新のやり方、そしてその未来 | POSTD
    rgfx
    rgfx 2016/07/05
  • neue cc - 複数の値とC# 5.0 Async再び、或いはAsyncEnumerableへの渇望とRx

    以前にReactive Extensions + asyncによるC#5.0の非同期処理では、単体の値であったらasync、複数の値であったらIObservable<T>が使い分け、とかかんとかと言ってましたが、当にそうなの?もしくは、そもそも複数の値のシチュエーションって分かるような分からないようななのだけど?などなどと思ったりする昨今を如何様にお過ごしでしょうか。というわけで、今回はグッとこの部分に深く迫ってみましょう。 同期的なシチュエーション さて、例、なのですけれど、データベースで行きましょう。生DataReaderを転がしてます。 // 接続文字列に Asynchronous Processing=true は非同期でやるなら欠かさずに const string ConnectionString = @"Data Source=.;Initial Catalog=Advent

  • Reactive Extensionsの概要と利用方法

    連載:Reactive Extensions(Rx)入門 第1回 Reactive Extensionsの概要と利用方法 河合 宜文 2011/11/01 C# 3.0より導入され、プログラミング・スタイルに大きな変革をもたらしたLINQはご存じだろうか。詳しくは「特集:Road to LINQ」で紹介されているが、データ加工における処理の手間を大きく解消するものである。LINQの特徴として、各種のデータソース(=配列やXMLデータ、SQLデータベースなど)に対して統一的な記法を提供することが挙げられる。 Reactive Extensions(以降、Rx)は、LINQが適用できるデータソースの概念を「非同期」と「イベント」に広げた、いわば「LINQ to Asynchronous」「LINQ to Events」とでも言うべきものである。それにより、従来では手間のかかった複雑な非同期処理

  • 1