並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 494件

新着順 人気順

awaitの検索結果121 - 160 件 / 494件

  • Top-level awaitとDual Package Hazard - 株式会社カブク

    Node.js Advent Calendar 2019の21日目の記事です。 2019/12/25追記 もともと「Top-level awaitによるESモジュールの非同期化とDual Package Hazard」というタイトルにしていましたが、表現に勇み足な部分があり、ご指摘をいただいたので、少し修正しました。 「TLAによってNode.jsのESMが非同期になった」という表現はおそらく正確ではありません。ESMに関する2017年のNode.jsのドキュメントでは、特に理由は触れずに「ESMのロードは非同期で、それはブラウザの挙動と合致する」と記述されています。ここでいう「ブラウザの挙動」とは、WHATWG Loaderで定められた仕様を指すと考えられます。ECMAScriptの仕様としては、少なくとも2019まではESMが非同期であるとの記述はなさそうなので、ブラウザの仕様に合わせ

      Top-level awaitとDual Package Hazard - 株式会社カブク
    • PEP 492 – Coroutines with async and await syntax | peps.python.org

      PEP 492 – Coroutines with async and await syntax Author: Yury Selivanov <yury at edgedb.com> Discussions-To: Python-Dev list Status: Final Type: Standards Track Created: 09-Apr-2015 Python-Version: 3.5 Post-History: 17-Apr-2015, 21-Apr-2015, 27-Apr-2015, 29-Apr-2015, 05-May-2015 Table of Contents Abstract API Design and Implementation Revisions Rationale and Goals Specification New Coroutine Decla

        PEP 492 – Coroutines with async and await syntax | peps.python.org
      • TypeScript の async/await をいますぐ使う - Qiita

        $ npm install -g typescript@next $ tsc -v message TS6029: Version 1.6.0-dev.20150907 $ npm install -g babel "use strict"; let wait = function(n: number){ return new Promise(done => setTimeout(() => done(n), n)); }; let main = async function(){ await wait(50); console.log('await done'); } // async promise nomally wait(100).then(() => console.log('promise normally done')); main(); "use strict"; var

          TypeScript の async/await をいますぐ使う - Qiita
        • C#5.0のasync/awaitによる非同期処理の使い方 - seraphyの日記

          async/awaitとは async/awaitは、DotNET4.5でC#5.0(とVB)で言語仕様とフレームワークに組み込まれた"非同期処理を同期的に記述できる仕組み"である。 PLINQなどが計算処理などを複数スレッドに分散してCPUを効率よく使うことを目的としているのに対して、async/awaitは非同期I/Oなどの待ち受け処理を効率的に、且つ、同期処理的に簡便に記述することを目的としている。 つまり、まずasync/awaitするべき非同期処理が先にあって、これを同期的に記述できるようにすることが目的である。 (その結果として、asyncメソッドも非同期処理にはなる。) 文法的と言語仕様的には、IEnumerableを返すメソッドを生成するためのyield return構文とよく似ており、メソッド内でawaitを記述することによりメソッドは自動的にTaskを返す非同期メソッド

            C#5.0のasync/awaitによる非同期処理の使い方 - seraphyの日記
          • async/awaitを、Array.prototype.forEachで使う際の注意点、という話 - Qiita

            はじめに、の前に(2020/10/29 追記) (いつの間にか)MDNに、forEachはPromiseを待たない、という趣旨の説明が書かれています。 MDNを読めば、この記事の内容を読む必要は無いと思います……。 はじめに Javascriptでは、async/awaitを使う事によって、非同期処理が非常に簡潔に書ける様になっています。 今後はasync/awaitを使ったプログラミングが増えていくと思います。 node.jsで、async/awaitを使ったプログラミングをしていたのですが、ハマった事があったので、自分用の備忘録としてメモ書きです。 実行環境 OS: Debian 9.6 node.js: v11.2.0 問題となったコード 配列をconsole.logで出力するだけのプログラムです。 ただし、console.log(value)の前に、sleep(1000)が入ってい

              async/awaitを、Array.prototype.forEachで使う際の注意点、という話 - Qiita
            • Deep Dive async/await in Unity with UniTask(UniRx.Async)

              A Brief History of UniRx/UniTask, IUniTaskSource in Depth

                Deep Dive async/await in Unity with UniTask(UniRx.Async)
              • .NET非同期処理(async-await)と例外の制御

                Taskクラスとasync-awaitを使用して非同期処理を記述する場合の、例外にまつわるあれこれをまとめました。 概要: 表面上は殆ど変らない 現実の動作 タスクコンテキストとスレッドコンテキスト スタックウォーク 処理されない例外 この記事は、非同期処理と例外処理について、多少難易度の高い話題を含みます。もし、もっと基本的な記述方法や、安全に例外を処理する方法を知りたい場合は、この記事をお勧めします: 「.NET非同期処理で例外を安全に対処する」 この記事の前に、非同期処理の基本を扱った記事もあります: 「.NET非同期処理(async-await)を制御する、様々な方法」 非同期処理中に発生する例外の捕捉 非同期処理中に発生する例外を捕捉する方法は、一般的な例外の捕捉とほとんど変わりません。 // 指定されたURLからHTMLコンテンツをダウンロードする public static

                  .NET非同期処理(async-await)と例外の制御
                • How Async/Await Really Works in C# - .NET Blog

                  Several weeks ago, the .NET Blog featured a post What is .NET, and why should you choose it?. It provided a high-level overview of the platform, summarizing various components and design decisions, and promising more in-depth posts on the covered areas. This post is the first such follow-up, deep-diving into the history leading to, the design decisions behind, and implementation details of async/a

                    How Async/Await Really Works in C# - .NET Blog
                  • SocketCluster · Highly scalable pub/sub and RPC toolkit optimized for async/await

                    Pub/sub channels are lightweight and efficient. You can have millions of unique channels without worrying about memory or CPU usage. Channels are automatically cleaned up when they are no longer used. The socketcluster CLI tool exposes kubectl (Kubernetes) shortcut commands to make it easy to deploy your app to any Kubernetes cluster. All necessary Kubernetes .yaml files are provided.

                    • async/awaitで躓いて学んだ、「オレは雰囲気でRustをしている!」からの脱し方。 - CADDi Tech Blog

                      こんにちは。テクノロジー本部バックエンド開発グループの小倉です。 この記事は キャディ Advent Calendar 2020 の9日目です。前日は山田さんの protobuf v3 の optional について でした。 Rustはイカしたエコシステムが充実していて、型が厳しい言語の割にはコンパイラやリンターに従うだけで動くコードが書けたりします。その結果「オレは雰囲気でRustをしている!」という気持ちになったりするんですよね〜。 本記事では、巷にあふれる入門記事を読んで実務に挑み、その結果でてきたよくわからない点を調べた結果得た知識を紹介します。 巷にあふれているRustのasync/awaitの記事。 これらを読みました Rustの非同期プログラミングをマスターする 2019 年の非同期 Rust の動向調査 Rustのasync/awaitとスケジューラの話 / rust-a

                        async/awaitで躓いて学んだ、「オレは雰囲気でRustをしている!」からの脱し方。 - CADDi Tech Blog
                      • ruby.wasm で await を使う - tmtms のメモ

                        最近はずっと ruby.wasm で遊んでます。 2023/5/19 に ruby.wasm 2.0 が出ました。 ruby.wasm 1.0 では await がうまく動かないことがあったけど、2.0 でちゃんと動くようになったんで、記念に前の記事以降にやったこと等をまとめてみた。 await ruby.wasm で await を使うには2つ問題がある。 Ruby スクリプトを eval ではなく evalAsync で実行する必要がある。 スタックサイズが小さくてすぐに SystemStackError エラーが出てしまう。 Ruby スクリプトを eval ではなく evalAsync で実行する必要がある HTML 内で <script type="text/ruby"> で気軽に Ruby スクリプトを書いたときに await を使うとエラーになってしまう。(ruby.wasm

                          ruby.wasm で await を使う - tmtms のメモ
                        • 【Express.js】非同期処理の個人的ベストプラクティス (async/await) - Qiita

                          Express で非同期処理 サーバサイドで Node.js を使うユースケースとしては APIサーバ (BFF、SSR 含む) が考えられるが、 主な処理 (DB との接続、http 通信など) は基本的に非同期処理になっている 非同期処理のライブラリは色々あるが現在は標準に組み込まれた Promise を使うのが主流となっており、これを使えばコールバック地獄は避けられるが、できれば async/await を使って直感的に書きたい JavaScriptの同期、非同期、コールバック、プロミス辺りを整理してみる async/await 入門(JavaScript) しかし結局 await は async の中でしか書けないため、Express を利用する場合は実質トップレベルの RequestHandler 内でどう処理するかという問題が生じる アンチパターン: そのまま async をつ

                            【Express.js】非同期処理の個人的ベストプラクティス (async/await) - Qiita
                          • async関数においてtry/catchではなくawait/catchパターンを活用する

                            Thank you async/await and catchご存知の通り、async/awaitはとても美しく明快であり、JS界隈の誰もが待ち望んだ機能であります。 async/awaitのエラーハンドリングはtry/catchで行うのが一般的です。 しかし、これは複数のawaitを使い、それぞれ別のエラーハンドリングを行いたい場合など、冗長になりがちです。 そして、特に気に入らないのが、tryのスコープ外で非同期関数の戻り値を使う場合、letを使う必要があるところです。

                              async関数においてtry/catchではなくawait/catchパターンを活用する
                            • Explore My Blog: Insights & Innovations Await! 📚🌟 - stuartkerrs.com

                              Learn How to Create a Website to Sell Products effectively! Uncover top strategies for design, marketing, and conversion to boost sales. Start...

                              • async/await: It’s Good and Bad

                                This might be controversial, as most people I know are huge fans of async/await. If you’re not familiar, it’s this nifty little syntax addition that allows developers to deal with APIs that return Promises in a more “native” way: async function doSomethingCool() { let someValue = await getSomePromise(); console.log(someValue + '!!!'); }As opposed to: function doSomethingCool() { getSomePromise.the

                                  async/await: It’s Good and Bad
                                • Unity 5.5でasync/await使えた話

                                  Unity 5.5 ベータを入れてみたという話。 ブログ曰く、「Mono C# コンパイラー がMono4.4にアップグレードしました。」とのことなので、これ、C# 6使えるはずよね?と。 公式サポートはC# 4 リリースノートを見ると、「C# 4です」って書かれてるわけですが。 Mono 4.4のコンパイラーを使っててC# 6使えないとかお前は何を言っているんだ… まあ、標準ライブラリの方が .NET Framework 3.5相当のままなので、Taskクラスが使えない。 なので当然、普通にやるとasync/awaitが使えない。 その状況下で「C# 6対応」とか言っちゃったら、問い合わせ押し寄せてやばいでしょうから、公式には「C# 4」と言わざるを得ないのはわかります。 要するに、コンパイラー的にC# 6に対応している状況で、langversionオプションを指定してわざと4に絞ってる

                                    Unity 5.5でasync/await使えた話
                                  • How to escape async/await hell

                                    async/await freed us from callback hell, but people have started abusing it — leading to the birth of async/await hell. In this article, I will try to explain what async/await hell is, and I’ll also share some tips to escape it. What is async/await hellWhile working with Asynchronous JavaScript, people often write multiple statements one after the other and slap an await before a function call. Th

                                      How to escape async/await hell
                                    • Await and Async Explained with Diagrams and Examples

                                      Introduction The async/await syntax in JavaScript ES7 makes it easier to coordinate asynchronous promises. If you need to asynchronously fetch data from multiple databases or APIs in a certain order, you can end up with a spaghetti of promises and callbacks. The async/await construct allows us to express such logic more succinctly with more readable and maintainable code. This tutorial explains Ja

                                      • JavaScript ES6のAsync/Awaitで非同期処理とエラー処理、並列処理を解説!初心者向け完全ガイド - deve.K's Programming Primer - プログラミング初心者のための入門ブログ

                                        この記事では、ES6のasync/await、およびPromises.all()を使用して非同期プログラミングを容易にする方法を学習します。 前回でのPromiseチュートリアルは以下で学ぶことができますので参照ください。 dev-k.hatenablog.com async/awaitとは asyncキーワード awaitキーワード Promise並列処理 async/awaitでのループ エラー処理 async/awaitでFetchを使用する方法 使用に関する注意点(ルール) 最後に async/awaitとは async/awaitは技術的に言えば、Promisesのシンタックスシュガー(Syntax sugar)となります。 シンタックスシュガーとは簡単に言ってしまえば、構文を省略しプログラムを書いていく事をシンタックスシュガーと言います。 ですが、これはプログラミング言語によっ

                                          JavaScript ES6のAsync/Awaitで非同期処理とエラー処理、並列処理を解説!初心者向け完全ガイド - deve.K's Programming Primer - プログラミング初心者のための入門ブログ
                                        • Understand promises before you start using async/await

                                          With Babel now supporting async/await out of the box, and ES2016 (or ES7) just around the corner, more and more people are realizing how awesome this pattern is for writing asynchronous code, using synchronous code structure. This is a good thing™, and ought to improve code quality a whole lot. However, what a lot of people may have missed is that the entire foundation for async/await is promises.

                                          • Rustのasync/awaitを使ったecho serverの実装 - 睡分不足

                                            rust 1.39でasync/await構文が安定化されます. 巷で話題の機能ですが,asycn/await何も分からん...ということで話題に乗り遅れないためにasync/awaitを利用してecho serverを実装してみます. OSはLinuxが対象です.ソースはここにあります. echo server async/awaitを使用する前に,まずは通常のecho serverを作成してみます(ソース). あえてstd::netを使わないで実装しています. 主処理は以下のようになっています. fn handle_client(stream: TcpStream) -> io::Result<()> { let mut buf = [0u8; 1024]; loop { let n = syscall!(read( stream.0, buf.as_mut_ptr() as *mut

                                              Rustのasync/awaitを使ったecho serverの実装 - 睡分不足
                                            • 非同期プログラミング - await による一時停止と再生

                                              このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 await による一時停止と再生 Mads Torgersen コード サンプルのダウンロード 次期バージョンの Visual Basic と C# における非同期メソッドは、非同期プログラミングからコールバックを取り除く優れた手段です。今回の記事では、await という新しいキーワードの実際の動作について、概念のレベルからその課題まで詳しく説明します。 シーケンシャル構成 Visual Basic と C# は命令型プログラミング言語であり、これは Visual Basic と C# の特長でもあります。つまり、これらの言語では、順次実行される「順番に並べられた個別の手順」としてプログラミング ロジックを表

                                                非同期プログラミング - await による一時停止と再生
                                              • Ruby で ES7 の async/await を超絶簡単に実装する - Qiita

                                                Introduction 突然ですが、皆さん async/await は知っていますか!? async/await といえば ES7 での仕様策定に向けて議論が進められている ECMAScript の新機能で、非同期処理を同期処理っぽく書く事ができます(ルーツは C# のasync/await らしいです)。 async/await について理解を深める為に、実際に(現在提案されてる仕様での)使い方を見てみましょう。 以下は http://wiki.ecmascript.org/doku.php?id=strawman:async_functions からの抜粋です。 1 var request = require('./request.js'); 2 var headers = { 'User-Agent': 'lukehoban', 'Authorization': 'token 66

                                                  Ruby で ES7 の async/await を超絶簡単に実装する - Qiita
                                                • async/await を完全に理解する

                                                  この記事ではasync/awaitについて完全に理解する[1]ことを目標に説明します。 完全に理解するために一部厳密には正確ではない表現をしますがご了承ください。 (明らかに事実と異なる内容が含まれている場合はご指摘いただけると助かります) ちなみにC#の文法説明になりますが、他の言語でも基本的な考え方は同じはずです。例えばJavaScriptの場合はTask型をPromise型に置き換えていい感じに読んでください。 非同期処理とTask型 async/awaitを完全に理解するためには、非同期処理の扱い方について完全に理解する必要があります。 そもそも非同期処理って何?という方はググってください。同期処理と非同期処理の違いについては完全に理解した前提で説明します。 非同期処理は複数のタスクを同時並行に処理するためのものですが、実際にコードを書いていると非同期で処理しているタスクが終わるま

                                                    async/await を完全に理解する
                                                  • javascript - Pros/cons of using redux-saga with ES6 generators vs redux-thunk with ES2017 async/await - Stack Overflow

                                                    There is a lot of talk about the latest kid in redux town right now, redux-saga/redux-saga. It uses generator functions for listening to/dispatching actions. Before I wrap my head around it, I would like to know the pros/cons of using redux-saga instead of the approach below where I'm using redux-thunk with async/await. A component might look like this, dispatch actions like usual. import { login

                                                      javascript - Pros/cons of using redux-saga with ES6 generators vs redux-thunk with ES2017 async/await - Stack Overflow
                                                    • Unity2017で始めるTask(async~await) - Qiita

                                                      C#6.0時代のUnity の続きとして、書く書く詐欺だったUnityでのTask(async~await)についてになります。 (さすがにUnity2017.1が正式リリース されたので・・。) なお、UnityでTaskを使うにあたっての事前準備はそちら を先に見てください まず、前提知識としてTaskってなんぞや? という事なんですが、まんま和訳した「仕事」ってのがしっくりくると思います。 やってほしい仕事=タスク。 スレッドと混同されがちですが、スレッドは仕事をする側で、仕事そのものでは無いんじゃないかなーと(ざっくり) そして、Task(async,await)を扱うにあたって Task.Delay Task.Run SynchronizedContext TaskCompletionSource あたりを分かった気でいる必要があります。 しかし、先に言っておきたいんですがTas

                                                        Unity2017で始めるTask(async~await) - Qiita
                                                      • GitHub - tc39/proposal-top-level-await: top-level `await` proposal for ECMAScript (stage 4)

                                                        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 - tc39/proposal-top-level-await: top-level `await` proposal for ECMAScript (stage 4)
                                                        • AWS LambdaがNode.js8.10をサポートしたのでasync/awaitを試してみた - Qiita

                                                          const AWS = require("aws-sdk"); const DynamoDB = new AWS.DynamoDB.DocumentClient({ region: "ap-northeast-1" }); const co = require("co"); exports.handler = (event, context, callback) => { co(function *(){ // scanの実行 const scanItems= yield DynamoDB.scan({TableName: "demo-table"}).promise(); // queryの実行 const queryItems = yield DynamoDB.query({ TableName: "demo-table", KeyConditionExpression: "#ID =

                                                            AWS LambdaがNode.js8.10をサポートしたのでasync/awaitを試してみた - Qiita
                                                          • node.jsがやたら非同期化しようとするのをasync/awaitでどうにか同期化する - ほんじゃらねっと

                                                            Node.jsは入出力関連の処理を非同期で行ないます。入出力イベントが非同期で実行されることで、遅い入出力処理の合間に他の処理を挟んで効率的にプログラムを実行することができます。この特長を活かすため、ライブラリに含まれる関数も非同期的に実行されるものがとても多いです。 簡単に処理を非同期化できるようになっているというのはうまく活用できれば大変ありがたいもので、node.jsの最大の特長だと言えます。 ところがただ「簡単に導入できて」「実行速度が速くて」「Javascriptで書ける」ツールとして手軽にnode.jsを使いたい、という場合にこの非同期至上主義なところが邪魔をすることがあります。 ちょっとした処理を行うコマンドラインスクリプトをサクッと作りたいだけなのに、思ったような順番で処理が実行されなかったり、コールバック地獄になったり。 同期的に動かそうとするだけでなぜこんなに分かりにく

                                                              node.jsがやたら非同期化しようとするのをasync/awaitでどうにか同期化する - ほんじゃらねっと
                                                            • 非同期:awaitを含むコードをロックするには?(AsyncLock編)[C#、VB]

                                                              async修飾子/await演算子(VBではAsync修飾子/Await演算子、以降では省略)を使った非同期プログラミングでは、スレッド間の排他ロックにlockステートメント(VBではSyncLockステートメント)が使えない。代わりにSemaphoreSlimクラス(System.Threading名前空間)を使えば可能なのだが、コードの記述が面倒である。そこで本稿では、AsyncLockクラスを使って簡潔に記述する方法を説明する。 SemaphoreSlimクラスによる排他ロック SemaphoreSlimクラスを使ってスレッド間の排他ロックを行うコードは、次のようなものだ。lockステートメントが使えない理由も含めて、詳細は「非同期:awaitを含むコードをロックするには?(SemaphoreSlim編)[C#、VB]」を参照していただきたい。 static System.Threa

                                                                非同期:awaitを含むコードをロックするには?(AsyncLock編)[C#、VB]
                                                              • async-awaitでもforEachしたい!

                                                                JavaScript界で非同期処理の切り札的存在となっているasync-await、そして軽やかにループ処理を行っていくforEach。ただ、この2つを合わせて使おうとしたら、うまくいきませんでした。 素直に書いてみる 準備 まずは、非同期実行するもののモデルとして、こんなコードを書いてみます。 const sleep = time => new Promise(resolve => setTimeout(resolve, time)); const sleptLog = async val => { await sleep(1000); console.log('sleptLog', val); }; sleepは単にsetTimeoutをPromise化しているだけで、そしてsleptLogはsleepを使ってasync-awaitでconsole.logを遅らせる、というような処理で

                                                                  async-awaitでもforEachしたい!
                                                                • 【Unity開発者向け】「SynchronizationContext」と「Taskのawait」 - Qiita

                                                                  はじめに Unity 2018から.NET 4.6がstableになり、async/awaitやTask使いこなせるようになっておく必要がでてきました。 今回はそれらの裏に隠れている、SynchronizationContextという機構とその使い方について紹介します。 なお、この記事はUnity2018.1bを基準に書いています。 SynchronizationContextとは何なのか SynchronizationContextとは、ざっくり説明すると「指定した処理を指定したスレッドで実行するために用いるオブジェクト」です。 非同期処理を実行する場合、あるスレッドから別スレッドに処理を移譲することになります。 このとき、「非同期処理が終わったときに元のスレッドに処理を戻す」という需要が発生します。 これを解決するのがSynchronizationContextというオブジェクトです。

                                                                    【Unity開発者向け】「SynchronizationContext」と「Taskのawait」 - Qiita
                                                                  • Node 7.6、async/awaitをデフォルトでサポート

                                                                    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

                                                                      Node 7.6、async/awaitをデフォルトでサポート
                                                                    • これからの「async/await」の話をしよう

                                                                      これからの「async/await」の話をしよう 名古屋GeekBar 2014/09/08 http://www.kekyo.net/2014/09/09/%e3%81%93%e3%82%8c%e3%81%8b%e3%82%89%e3%81%ae%e3%80%8casyncawait%e3%80%8d%e3%81%ae%e8%a9%b1%e3%82%92%e3%81%97%e3%82%88%e3%81%86-%e5%90%8d%e5%8f%a4%e5%b1%8bgeekbar/

                                                                        これからの「async/await」の話をしよう
                                                                      • 【JavaScript】 async/await で非同期処理をわかりやすく記述する – 株式会社ライトコード

                                                                        async/await という仕組み 本記事では、 JavaScript の非同期処理を扱うための async/await という仕組みについて取り上げます。 async/await は、 Promise を利用した非同期処理をよりわかりやすく記述できます。 本題へ進む前に Promie の復習をしておきましょう! Promise の復習async/await は、 Promise の仕組みを利用しているため、Promise への理解が大切だからです。 非同期関数を作成するときに Promise が利用できます。

                                                                          【JavaScript】 async/await で非同期処理をわかりやすく記述する – 株式会社ライトコード
                                                                        • GitHub - frontarm/async-javascript-cheatsheet: Cheatsheet for promises and async/await.

                                                                          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.

                                                                            GitHub - frontarm/async-javascript-cheatsheet: Cheatsheet for promises and async/await.
                                                                          • Async/Await Will Make Your Code Simpler

                                                                            Or How I Learned to Stop Writing Callback Functions and Love Javascript ES8. Sometimes modern Javascript projects get out of hand. A major culprit in this can be the messy handling of asynchronous tasks, leading to long, complex, and deeply nested blocks of code. Javascript now provides a new syntax for handling these operations, and it can turn even the most convoluted asynchronous operations int

                                                                              Async/Await Will Make Your Code Simpler
                                                                            • Some thoughts on asynchronous API design in a post-async/await world — njs blog

                                                                              I've recently been exploring the exciting new world of asynchronous I/O libraries in Python 3 – specifically asyncio and curio. These two libraries make some different design choices. This is an essay that I wrote to try to explain to myself what those differences are and why I think they matter, and distill some principles for designing event loop APIs and asynchronous libraries in Python. This i

                                                                                Some thoughts on asynchronous API design in a post-async/await world — njs blog
                                                                              • いまさら async/await - 鷲ノ巣

                                                                                VS 2015 もリリースされて、C# 6.0 が使えるようになった今頃になって、C# 5.0 の新機能の話というのも時機を逸してますが、まぁいいじゃない。 というわけで、今のところ最も新しい非同期処理のお話です。 昔の非同期処理 実のところ、やってることは昔から大して変わらないのです。 Begin/End パターン Asynchronous Programming Model(APM)とも言うようです。.NET における最古の非同期プログラミング手法です。 BeginXxx というメソッドを呼び出すと、裏でスレッドが立ち上げられて処理が行われます。 非同期処理が終わるとコールバック関数が呼ばれるので、コールバック内で EndXxx メソッドを呼んで結果を受け取ります。 Stream.BeginRead を例にすると、こんな感じ。 stream.BeginRead(buffer, 0, b

                                                                                  いまさら async/await - 鷲ノ巣
                                                                                • 非同期:awaitを含むコードをロックするには?(SemaphoreSlim編)[C#、VB]

                                                                                  async修飾子/await演算子(VBではAsync修飾子/Await演算子、以降は「async/await」と略す)によって、非同期プログラミングは簡潔に記述できるようになった。ところが、複数スレッド間の排他ロックを実現するために使ってきたlockステートメント(VBではSyncLockステートメント)が、await演算子(VBではAwait演算子、以降は省略)を含むコードでは使えなくなってしまったのである。async/awaitを多用するコード(特にWindowsストアアプリやWindows Phoneアプリ)を書いていて困った経験を持つ人も多いだろう。await演算子を含むコードをロックするにはどうしたらよいのだろうか? 本稿では、SemaphoreSlimクラス(System.Threading名前空間)を使う方法を説明する。 従来のlock/SyncLockステートメントによる

                                                                                    非同期:awaitを含むコードをロックするには?(SemaphoreSlim編)[C#、VB]