並び順

ブックマーク数

期間指定

  • から
  • まで

201 - 240 件 / 641件

新着順 人気順

awaitの検索結果201 - 240 件 / 641件

  • Unit testing async/await Swift code

    Unit tests allow you to validate code written using the latest concurrency framework and async/await. While writing tests doesn’t differ much from synchronous tests, there are a few crucial concepts to be aware of when validating asynchronous code. If you’re new to async/await, I encourage you first to read Async await in Swift explained with code examples. Similarly, for unit tests, you can get s

      Unit testing async/await Swift code
    • Coroutines私的メモ2~Dispatchers, withContext, async/await~ - Qiita

      dispatchers コルーチンを使う際に、どのスレッドもしくはスレッドプールにて実行・制御したいということがあります その際にdispatcherを指定することで解決できます Dispatcherにもいくつか種類があるので使い分けたいところです Dispatchers.Main UIに関する処理をするメインスレッドのためのコルーチン Dispatchers.Main.immediate UI更新を即時行いたい際に使用される (e.g. textviewのtext更新とか) Dispatchers.Default 共有スレッドプールを使用し、CPUのコア数に従って設定される CPUに負荷をかけるような計算をするような処理に対して使うことが推奨されます Dispatchers.IO その処理に必要なコルーチンの数に応じて必要な分だけ共有スレッドプールを使用する DBの検索等、I/Oに負荷を

        Coroutines私的メモ2~Dispatchers, withContext, async/await~ - Qiita
      • Unityで わざわざasync/awaitを使う必要性について

        unityで非同期処理を行う際C#固有の機能であるasync/awaitの使いどころについて。 unityでは非同期をシングルスレッドで行うようなコルーチンという機能がありますが、 カスタムコルーチンが導入されたことにより、非同期はすべてコルーチンで行えばいいのではないかと思います。 そもそも、コンポーネント指向のunityにおいて同じオブジェクトにupdate関数を持ったスクリプトを2個張り付ければ非同期であるのではないでしょうか。 これで賄いきれないものをカスタムコルーチンで実装すればいいと思います。 例えばwwwクラス IEnumerator Start() { // WWWクラスのコンストラクタに画像のURLを指定してダウンロードを開始する string url = "http://www.mybdesign.com/unityui/images/cat.jpg"; W

          Unityで わざわざasync/awaitを使う必要性について
        • C# System.Diagnositic.Processを非同期実行。(async/awaitで使用する) - Qiita

          C# System.Diagnositic.Processを非同期実行。(async/awaitで使用する) はじめに 非同期のコードはいくつかパターンがありますが、なるべく一つにしたいため、async/awaitに統一できないか検討するなかで、Process.StartとExitedイベントのパターンをasync/awaitで記述する方法を見つけたのでメモしておきます。 参考 下記、stackoverflowを参考にしました。ほぼリンク先の通りです。 https://stackoverflow.com/questions/10788982/is-there-any-async-equivalent-of-process-start コード ある2つのファイル(sourceFileName, destinationFileName)に対してFCコマンドを実行し、結果を取得するサンプルです。

            C# System.Diagnositic.Processを非同期実行。(async/awaitで使用する) - Qiita
          • TypeScriptの `for await...of` でAPIのページングをする

            StripeのNode.js SDKには「Auto-pagination」という機能があります。 自動でページングを行なって for await...of で処理できるようにしてくれます。 実例を挙げると以下のような形となり、スッキリとイミュータブルな処理に書けて気持ち良いです。 (async () => { const customers: Stripe.Customer[] = []; let starting_after: string | undefined = undefined; do { const response = await stripe.customers.list({ starting_after, }); for (const customer of response.data) { customers.push(customer); } starting_af

              TypeScriptの `for await...of` でAPIのページングをする
            • 【Flutter】initState内でawaitさせる|Flutterラボ

              iniState内で5秒止める処理がしたいとき @override void initState() async { super.initState(); await Future.delayed(Duration(seconds: 5)); }このように記述することはできません。 @override void initState() { super.initState(); Future(() async { await Future.delayed(Duration(seconds: 5)); }); }このようにすると実行できます。

                【Flutter】initState内でawaitさせる|Flutterラボ
              • JavaScriptではawaitを含む関数を必ずasyncにしなくてはならないのはなぜですか?時間がかかる処理を含むからですか?他の言語では選択できたりしますか?

                回答: 「awaitを1個でも含む関数は自動的にasync扱いにする」というルールにすることは可能だったでしょう。 でもそれだと後方互換性を損なうのです。こちら [1] にある例 [code]function await(x) { return 'awaiting ' + x } function foo() { return(await(42)) } [/code]のように、従来のコードで await(42)は正当なので、これをasync扱いにすると動いている過去コードが意図した通りに動かなくなります。asyncキーワードを新たに導入し、明示的にasyncを付けた関数中に...

                  JavaScriptではawaitを含む関数を必ずasyncにしなくてはならないのはなぜですか?時間がかかる処理を含むからですか?他の言語では選択できたりしますか?
                • 【初心者向け】【Node.js】【Javascript】async/await を使った非同期処理についてまとめてみた - サーバーワークスエンジニアブログ

                  はじめに Nodejs の async/await について、自分なりに整理してまとめてみました。 本記事と対照に書いた Promise.prototype.then() に関する こちら の記事も見ていただけると理解しやすいと思います。 具体例を交えて解説するので参考にしてみてください! 記事目安...10分 はじめに async/await とは 用語整理 async await Promise と async/await の対応表 具体例を用いた async/await の解説 パターン1: async/await を使用しない場合 サンプルコード 出力結果 解説 パターン2: async のみを使用した場合 サンプルコード 出力結果 解説 パターン3: async/await を使用した場合 サンプルコード 出力結果 解説 まとめ async/await とは 用語整理 async

                    【初心者向け】【Node.js】【Javascript】async/await を使った非同期処理についてまとめてみた - サーバーワークスエンジニアブログ
                  • async/awaitネイティブのためのちょっとしたPromiseの使い方

                    皆さんは Promise を使っていますか? ES2017 で async/await が導入されてから、直接 Promise を使う場面は減ったのではないでしょうか? かくいう私も、2019 年からプログラミングを始めているので、最初から async/await がある世界で、直接 Promise を使う機会はあまり多くはありませんでした。 この記事はそんな async/await ネイティブのためのちょっとした Promise の使い方を解説していきたいと思います。(もし間違って解説しちゃってたら教えてください 🙏)

                      async/awaitネイティブのためのちょっとしたPromiseの使い方
                    • await using を Unity の自作ダイアログ表示に利用してみる

                      はじめに この記事は C# Advent Calendar 2021 の 12日目 の投稿です。 11日目は @tera1707 さんの「[WPF] 簡単なインベーダー的ゲームを作ってみる」でした。 本稿では、await using を用いたダイアログ表示の方法を紹介します。 Blazor Component とかを例にしても良かったんですが、筆者の主戦場である Unity を題材にさせていただきます。 なお、掲載しているサンプルコードは全て名前空間を省略しておりますが、実際のプロダクトでは名前空間の利用を強く推奨いたします。 非同期ストリームについて 非同期ストリームとは、ものすごく雑に言えば「foreach を非同期にできる機能」みたいな感じです。 詳細な定義や仕様は Microsoft の公式ドキュメントや、岩永さんのサイト ++C++ での解説 をご覧いただくと理解できるかと思いま

                        await using を Unity の自作ダイアログ表示に利用してみる
                      • async/await を使った非同期ラムダ式を変数に代入する方法 - Qiita

                        async/await を使った非同期ラムダ式を変数に代入したくなった時に ラムダ式を代入するための変数の型がわからなくなったので、覚書として残しておきます。 引数なし、戻り値なし async/await を用いた「戻り値なしの非同期関数」は、戻り値が Task で必要があるので、 この時の非同期ラムダ式の型は Func<Task> となります。 using System.Threading.Tasks; Func<Task> AsyncFunc = async () => { await Task.Delay(1); };

                          async/await を使った非同期ラムダ式を変数に代入する方法 - Qiita
                        • GitHub - hyperium/tonic: A native gRPC client & server implementation with async/await support.

                          You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                            GitHub - hyperium/tonic: A native gRPC client & server implementation with async/await support.
                          • [Draft RFC] First-class support for promises and async/await · reactwg/server-components · Discussion #2

                            You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                              [Draft RFC] First-class support for promises and async/await · reactwg/server-components · Discussion #2
                            • Creating a co_await awaitable signal that can be awaited multiple times, part 1 - The Old New Thing

                              Creating a co_await awaitable signal that can be awaited multiple times, part 1 C++/WinRT asynchronous activities can be awaited only once. This is consistent with their intended usage pattern, which is for an application to start the activity, co_await the result, and then continue. But maybe you want something like a Win32 event, where any number of people can co_await the event, and then once i

                                Creating a co_await awaitable signal that can be awaited multiple times, part 1 - The Old New Thing
                              • async/awaitやactorでiOSアプリ開発がどう変わるか Before & Afterの具体例で学ぶ

                                今秋リリース予定のSwift 5.5には、async/awaitやactorなどの並行処理関連の新機能が多く含まれます。これによって、iOSアプリ開発における非同期処理や並行処理のコードは劇的に変化します。本トークでは、iOSアプリ開発でよく見かけるようなケースを取り上げ、Before & Afterのコードを示し、何がどのように変わるのかを説明します。 async/awaitやactorは使いこなせばとても便利ですが、新しい概念を初めから抽象的に学ぶのは大変です。しかし、それらが解決しようとしている問題自体はiOSアプリ開発者にとって馴染み深いものです。async/awaitやactorで書くコードが既存コードのどのような処理に対応するのか、既存コードにはどんな問題があり、async/awaitやactorはそれをどう解決してくれるのか、具体的なケースで学べば入口のハードルはぐっと下がり

                                  async/awaitやactorでiOSアプリ開発がどう変わるか Before & Afterの具体例で学ぶ
                                • JavaScript Async/Await Tutorial – Learn Callbacks, Promises, and Async/Await in JS by Making Ice Cream 🍧🍨🍦

                                  Today we're going to build and run an ice cream shop and learn asynchronous JavaScript at the same time. Along the way, you'll learn how to use: CallbacksPromisesAsync / AwaitHere's what we'll cover in this article:What is Asynchronous JavaScript?Synchronous vs Asynchronous JavaScriptHow Callbacks Work in JavaScriptHow Promises Work in JavaScriptHow Async / Await Works in JavaScriptSo let's dive i

                                    JavaScript Async/Await Tutorial – Learn Callbacks, Promises, and Async/Await in JS by Making Ice Cream 🍧🍨🍦
                                  • 【JavaScript】async/awaitについて理解を深めたい - Qiita

                                    やりたいこと async/awaitとPromiseが全然理解できていないと思ったため、よくわからないと思ったところを実験してみることにしました。 この記事はその実験結果をまとめたものです。 この実験をしたのが記事の執筆時から1ヶ月くらい前の話なので、記憶が朧げなところがあります。 できる限り思い出して書いていますが、間違いがあったらすみません。 // Promiseを書いたasync async function a() { return new Promise((resolve, reject) => {setTimeout(() => { console.log('aが実行'); console.timeLog(); resolve(); },1000);}) } // Promiseを返すasyncじゃない関数 function b() { return new Promise((

                                      【JavaScript】async/awaitについて理解を深めたい - Qiita
                                    • How to reject in async/await syntax?

                                      How can I reject a promise that returned by an async/await function? e.g. Originally: foo(id: string): Promise<A> { return new Promise((resolve, reject) => { someAsyncPromise().then((value)=>resolve(200)).catch((err)=>reject(400)) }); } Translate into async/await: async foo(id: string): Promise<A> { try{ await someAsyncPromise(); return 200; } catch(error) {//here goes if someAsyncPromise() reject

                                        How to reject in async/await syntax?
                                      • await/catchパターンの具体的な振る舞い例

                                        async関数の絡むエラーハンドリングは、await/catchパターンで書くとスマートになることが古来より知られています。 ただcatchを書いた時・省いた時、それぞれどう振る舞うのかを個人的によく忘れがちです。 なので備忘録として具体的な振る舞いをメモしておきます。 準備 テスト用として以下のasync関数を定義します。 let userName = undefined; async function fetchUserName() { if (userName != null) { return userName; } else { throw 'User name not found...'; } } ユーザー名をサーバーに問い合わせる想定の関数です。(いくら何でも雑すぎますが、その辺はご容赦…) ここではuserNameは定義されていなのでこの関数は必ず失敗します。具体的にはre

                                          await/catchパターンの具体的な振る舞い例
                                        • Rustのasync、awaitを利用し、非同期プログラミングに入門する

                                          Tweet 本記事はRustアドベントカレンダー2の17日目の記事です。 本記事ではRustのasync、awaitを使って、非同期プログラミングに入門してみたいと思います。 以下のプログラムではfuturesクレートを利用しています。 https://github.com/rust-lang/futures-rs async まずはasyncを使った例を見てみましょう。 use futures::executor::block_on; async fn hello_world() { println!("hello world") } fn main() { let future = hello_world(); block_on(future); } 上記の例はhello worldの文字列を出力するプログラムを、あえてasyncキーワードを利用し記述したものです。 関数が非同期である

                                            Rustのasync、awaitを利用し、非同期プログラミングに入門する
                                          • TypeScriptにおける async / await の使い方(非同期 / 同期処理) - Qiita

                                            TypeScript上で非同期処理を挟んでみるところに遭遇したがうまく型付けできず改めて基礎を振り返ると同時に記事にまとめてみた。 なお、async / await は TypeScript1.7以降に対応している (ただし 1.7v は es6。 2.1v から es5/es3 に対応)。 前置き(1/2) 前提として Promise の理解が必要 もう知っている方は飛ばしてもられば。Promiseの動きが分かっていないとTypeScriptの async / await は理解しづらい。 ご存知かもしれないが、Promiseに対する async / await は Promise を読み書きしやすいよう別の構文に置き換えたもの、つまりシンタックスシュガーである。 画像のようにVSCodeにおけるasync関数の型の推測では返り値に Promise が読み込まれていることがわかる。 前置

                                              TypeScriptにおける async / await の使い方(非同期 / 同期処理) - Qiita
                                            • よく聞いている技術系Podcastまとめ2024年度版 - await wakeUp();

                                              はじめに 私が普段聴いているPodcastを紹介します。 fukabori.fm fukabori.fm 学生の頃から聴いているPodcastです。 特定の技術に関する回もあればビジネスやマネジメントに関する回もあり、ITエンジニアとして知っておくと良さそうな知識が広く得られるのでお気に入りのPodcastです。 個人的に一番好きな回は、第13回の「ペアプロやテストの疑問とか、ソフトウェアエンジニアの育成とか」です。 この回でtwadaさんがお話されていた内容は、業務でもプライベートでも、コードを書く際は常に意識するようにしています。 セキュリティのアレ www.tsujileaks.com 辻さん、根岸さん、piyokangoさんの三人が、最新のセキュリティ事情について解説するPodcastです。 情報漏洩、サイバー攻撃、ソフトウェアの脆弱性、最新の攻撃手法の話題や、セキュリティに関する

                                                よく聞いている技術系Podcastまとめ2024年度版 - await wakeUp();
                                              • 【JavaScript】asyncとawaitを使った非同期処理の方法 - Promiseとの違いとは?

                                                【JavaScript】asyncとawaitを使った非同期処理の方法 - Promiseとの違いとは? 今回はJavaScriptの非同期処理で使うasyncとawaitについて説明します。 前提条件は以下です。 同期処理と非同期処理の違いをざっくり理解しているPromiseについてざっくり理解している 説明する環境は以下です。 macOS Catalina v10.15.5Visual Studio Code v1.57.0

                                                  【JavaScript】asyncとawaitを使った非同期処理の方法 - Promiseとの違いとは?
                                                • mapのループ内でawaitしたいのに怒られてはまった件 - Qiita

                                                  let ids = [0,1,2] const getDataByIds = async (ids) => { let ret = []; ids.map((id) => { // getDataByIdはasync関数 let data = await getDataById(id) ret.push(data) }) return ret } 訳:awaitはasync関数以外で使ってんじゃねーぞコラ わたし:は?いやいやいやgetDataByIdsはasyncにしてるやん????頭おかしくなったか????アァン エラーメッセージでぐぐってもasync関数で囲えやみたいな記事しかない。。。いや囲ってるんですけど… 原因①:map内も関数だった async awaitとかPromiseとかをもう一回おさらいしたりぐぐったりしていろいろ考えた結果… forのかわりに使ってたので忘れてたけど

                                                    mapのループ内でawaitしたいのに怒られてはまった件 - Qiita
                                                  • C# async / awaitを利用する上での注意点 - まめ - たんたんめん

                                                    おはようございます。 今日は C# の非同期構文である async - await について細かい話は色んなブログとかにあったのですが自分用に完結に要点だけまとめます。 構文とか仕組みについてはこの記事では解説しません。 async void 禁止 コンストラクタでの非同期は避ける Wait() Resultの使用禁止 可能な限りConfigureAwait(false)を そのTask、ValueTaskで良いかも タスクを直接returnする場合 async / await は書かない 並列処理できる場合は場合は Task.WhenAllで なるべくTask.Runでラップしただけの偽asyncメソッドは避ける fire and for get する場合はContinueWithで例外捕捉を async void 禁止 例外が補足できない 呼び出し元が非同期であることが分かりづらい ど

                                                      C# async / awaitを利用する上での注意点 - まめ - たんたんめん
                                                    • async / await / Promise / then とかがよくわからんので自分なりの感覚的な理解のメモ - Qiita

                                                      前置き JavaScript の async / await / Promise / then(もっというと try, catch とかも)あたり、書けないことはないけど、イメージが掴みづらく自分が何書いてるかよくわからなくなるので、感覚的な・どういう気持ちで書いていけばいいのか、というところを自分なりにメモするものです。 よくわかっていないものを現在進行系で紐解いていくメモなので「〜じゃないですか?」「〜は間違いです」みたいな指摘のされ方をされても、「正直分からないです」「そうですか・・・」とならざるを得ないので、こちらのほうが正しいですとか編集リクエストベースとか、そういう感じでご指摘いただけると大変嬉しいです。 何がわからないか 非同期な処理がしたいんじゃなくて、仕方なく非同期で返ってくる値をうまくこなしたいだけなんだ 別に同期的な処理をしたくて openFileSync を使ってる

                                                        async / await / Promise / then とかがよくわからんので自分なりの感覚的な理解のメモ - Qiita
                                                      • [JavaScript] 非同期処理のPromise, async, awaitサンプル多めで丁寧にわかりやすく - Qiita

                                                        [JavaScript] 非同期処理のPromise, async, awaitサンプル多めで丁寧にわかりやすくJavaScriptpromise Promiseとか非同期処理が意味不明 普段プログラミングで書くのは同期処理です。 コードを順番に上から下に実行していって、途中時間のかかる処理の間は動作・画面が途中で止まることになります。 例えば時間かかる処理としてはサーバーと通信して画像とか動画とかのサイズ大きいデータを取得する処理とかですね。 画像を表示しようとするたびに画面が固まって操作を受け付けないページとかあったら、イライラしてさっさと戻るボタン押しますよね。 このような場合JavaScriptで使うのは非同期処理です! 非同期処理はコードを順番に上から下に実行していくけど、時間がかかる処理は「あとで処理するよ〜」って感じで予約だけして次の処理に移らせることができます。 このように

                                                          [JavaScript] 非同期処理のPromise, async, awaitサンプル多めで丁寧にわかりやすく - Qiita
                                                        • SvelteのAwait blocksを使ってみる - Qiita

                                                          はじめに Web APIでデータを取得する際にfetch APIだけを使っていたのですが、 .thenが何回も出て見通しが悪くなったので、async/awaitとSvelteのAwaite blocksで見通しをよくする。 元のコード <script> let items; $: fetch('https:...') .then(res => res.json()) .then(data => { items = data; }); </script> {#if items} {#each items as item} <p>{item.name}</p> {/each} {:else} <p>ロード中</p> {/if} <script> const fetchItems = async function() { const items = await fetch('https:...'

                                                            SvelteのAwait blocksを使ってみる - Qiita
                                                          • await sleep.js【async 1行JavaScript】コピペ可 - Qiita

                                                            const sleep = s => new Promise(resolve => setTimeout(resolve, 1000 * s)) // 1秒待つ await sleep(1) // 5秒待つ await sleep(5) // 500ミリ秒待つ await sleep(.5)

                                                              await sleep.js【async 1行JavaScript】コピペ可 - Qiita
                                                            • 【初心者向け】【JS・TS】forEachのコールバック関数内の非同期処理は、async/awaitで同期処理化できない - Qiita

                                                              最初に 本記事で紹介することは、JSでforEachやmap等のコールバック関数で処理をするメソッドを使い始めたときに、誰もがやらかしてしまいそうになる内容をまとめてみました。 実はこのコードは、最初に「end」と表示される const squareNum = (num) => new Promise((resolve, reject) => resolve(num*2)); [2].forEach(async(num) => console.log(await squareNum(num)));// 最後に表示される console.log("end");// 最初に表示される 配列内の2倍値を表示するために、forEachとsquareNum関数を使う。 しかし、非同期処理として動かしたくないため、forEach内のコールバック関数にasync/awaitを使うが、同期処理化されず最初

                                                                【初心者向け】【JS・TS】forEachのコールバック関数内の非同期処理は、async/awaitで同期処理化できない - Qiita
                                                              • chrome.runtime.onMessage response with async await

                                                                tl;dr chrome.runtime.onMessage.addListener((request, sender, sendResponse) => { (async () => { // async code goes here // ... const result = await getSomething(); sendResponse(result); })(); // Important! Return true to indicate you want to send a response asynchronously return true; }); Or extract to an async function. chrome.runtime.onMessage.addListener((request, sender, sendResponse) => { doSo

                                                                  chrome.runtime.onMessage response with async await
                                                                • なぜ JavaScript の Fetch API は2回 await しないとJSONが取れないのか? - Qiita

                                                                  // $ node server.js // # => http://localhost:18080 const http = require("http"); const sleep = (ms) => new Promise((done) => setTimeout(done, ms)); http .createServer(async (req, res) => { // リクエストを受け取って2秒スリープ await sleep(2000); // ヘッダを書き出して2秒スリープ res.setHeader("X-MyHeader-Value", "MY HEADER!!!!"); res.setHeader("Access-Control-Allow-Origin", "*"); res.setHeader("Access-Control-Expose-Headers", "*

                                                                    なぜ JavaScript の Fetch API は2回 await しないとJSONが取れないのか? - Qiita
                                                                  • Node.jsのMySQLでAsync/Awaitする方法 - Qiita

                                                                    Node.jsのMySQLでAsync/Awaitする方法の日本語記事が見当たらなくて苦戦したので備忘録として残しておきます。 以下のように書けばAsync/Awaitがちゃんと効きます。 var mysql = require('mysql'); const util = require('util'); var pool = mysql.createPool({ connectionLimit: 10, host: 'hoge', user: 'hoge', password: 'hoge', database: 'hoge', }) pool.query = util.promisify(pool.query) // この行がポイント! try { var results = await pool.query('SELECT * FROM myDB') pool.end(); //

                                                                      Node.jsのMySQLでAsync/Awaitする方法 - Qiita
                                                                    • C# ( .NET Core)で作る自作TURNサーバー 〜開発のTipsとプロトコルの説明を添えて〜 #nttcom_ac2021 - await wakeUp();

                                                                      はじめに この記事は、 NTT Communications Advent Calendar 2021 12日目の記事です。 皆様こんにちは。NTTコミュニケーションズ イノベーションセンターの@sublimerです。今年の4月にNTTコミュニケーションズに入社し、SkyWayの開発・運用の業務を行っています。 本記事では、C# ( .NET Core)でTURNサーバーの自作に挑戦している話を書いていこうと思います。まだ完成はしていないのですが、TURNサーバーのプロトコルの仕組みやサーバー開発の作業の進め方などを紹介します。 作っているTURNサーバーの紹介 C#( .NET Core)製のTURNサーバー、「doturn」です。(dotnetのTURNサーバーなので) github.com 現在は最低限のSTUNサーバー(RFC5389)の機能が動く状態で、TURNサーバーの機能は鋭

                                                                        C# ( .NET Core)で作る自作TURNサーバー 〜開発のTipsとプロトコルの説明を添えて〜 #nttcom_ac2021 - await wakeUp();
                                                                      • 【JavaScript】非同期処理(コールスタック、キュー、Promise、async/await)について図解で理解する。 - Qiita

                                                                        【JavaScript】非同期処理(コールスタック、キュー、Promise、async/await)について図解で理解する。JavaScript はじめに この記事は、javascriptの中でも高度(と自分が思っている)非同期処理について、自分の中で整理も兼ねてアウトプットしている記事です。 できるだけ図を用いて、噛み砕いて非同期処理の概略を理解することを優先に心がけて記載しています。 そのため、正確性に欠ける場合がございます。(そもそも筆者が勘違いしている場合もあり。) ご理解の上、お読みいただけますようよろしく願いいたします。 この記事を読んでいただき、非同期処理のイメージを掴んでいただいた後、さらに深く正確な知識を学んでいただくための足掛かりとして利用していただけると幸いです。 この記事を作成するにあたり以下のページを参考にさせていただきました。 イベントループとプロミスチェーンで

                                                                          【JavaScript】非同期処理(コールスタック、キュー、Promise、async/await)について図解で理解する。 - Qiita
                                                                        • Promiseとasync/awaitが正しく機能しない時に読む記事 | 謎の技術研究部

                                                                          これらはエラーが出ないエラーとして良く遭遇する。特に処理を「待ってくれない」パターンだ。この問題をケース別にまとめた。 Proimseとasync/awaitについて再確認する 通常これらは非同期処理が終了したかどうかを判断するために利用される。 しかし書き方が少し複雑で構文を少しでも間違えていてもエラーが出ること無く意図しない動作(非同期処理を待たず次にいってしまう)をする事が頻繁にあるため整理しておく。 この記事のターゲット Promiseおよびasync/awaitはこれまでに使ったことがある人向け。 基本的な説明はしないので注意。 この記事では**「ぱっと見で正しい動作をしそうだが、なぜか動作しない」**例をいくつか示す。 アローファンクションになっていないPromise まず最初のコードは次の数字順で出力される想定で組んでいる。 1: Start 2: End (Promiseは

                                                                            Promiseとasync/awaitが正しく機能しない時に読む記事 | 謎の技術研究部
                                                                          • Promiseが分かれば簡単!async, await - Qiita

                                                                            はじめに async, awaitについて、初心者(=ちょっと前の自分)の方にも分かりやすくまとめました。 async/awaitはPromiseが分かればすぐ分かるし、Promiseを理解していないとかなり難しい、という印象です。 Promiseについて忘れてしまったな、まだ不十分だなと感じる方は、私の過去の記事僕なりのPromise入門を読んでからこの記事を読むと良いんじゃまいか async, awaitはPromiseを簡単に扱えるようにしてくれるもの async, awaitは、Promiseを簡単に扱えるようにしてくれるものです。Promiseだけでも同じことが出来るのである意味使わなくても構わないのですが、使うとよりすっきりとしたコードになります。おそらく簡単に書けることこそがasync, awaitが実装された大義名分です。さっそく順番に見ていきましょう! asyncとは a

                                                                              Promiseが分かれば簡単!async, await - Qiita
                                                                            • Promiseとasync/await 使い方と注意したいこと - Qiita

                                                                              asyncとawait付ければ非同期処理で使うんだよなーぐらいの認識で業務のコードを読んでいたけど、自分で実装するとなって改めて勉強するとたくさん学びがあったのでまとめておきます。 色々調べて試したつもりですが、違っていたり、もっと良い書き方があれば是非ご教授ください…! 同期処理と非同期処理 簡単に復習します。 同期処理 ひとつひとつ処理が終わってから次の処理に進む。 非同期処理 ある処理(APIへのリクエスト・時間が掛かる処理など)が終わるのを待たずに、いったん次の処理を継続する。 例えば、データを取得してくるAPIリクエストの間に、そのデータは無くてもできる他の処理は進めておこうみたいなイメージです。

                                                                                Promiseとasync/await 使い方と注意したいこと - Qiita
                                                                              • 非同期処理を繰り返す際に使える for await of 構文の紹介

                                                                                ハイブリッドアプリを作っていて一番悩みやすいポイントは、非同期処理にあるのではないでしょうか。Web APIを使って外部からデータを取得したり、ファイルを書き込んだりする際には、この非同期処理が使われます。 async/awaitの登場によって大幅に書きやすくなっていますが、さらに改善は進んでいます。今回はfor await ofの書き方について解説します。 for await ofとは forは皆さん使ったことがあるかと思います。whileとともに、繰り返し処理でよく使われる構文です。以下のような書き方が一般的でしょう。 for (let i = 0; i < 100; i++) { } この繰り返し処理の部分において非同期処理を有効にするのが for await of 構文になります。書き方としては次のようになります。 for await (obj of iteration) { }

                                                                                  非同期処理を繰り返す際に使える for await of 構文の紹介
                                                                                • 【JavaScript】 async/awaitを解説します

                                                                                  ■asyncとは asyncは関数やメソッドで使用するキーワードです。 asyncを使用して定義された関数は、実行するとPromiseを生成して返します。 ■awaitとは awaitはPromiseオブジェクトに使用するキーワードで、async関数内のみで使用できます。 awaitは非同期処理の結果がでるまでコードを停止します。 結果が出たら、再開して後に続くコードを実行します。 ただしこれはコードの流れ上の話で、停止中はタイマーなどの他の非同期処理も処理されます。

                                                                                    【JavaScript】 async/awaitを解説します