初めに 自分は業務中でよくPromiseで非同期処理を実現しますが、そもそもなぜPromise使うのかをよくわからないので、今回は基礎からJavaScriptの非同期とコールバックについて整理してみます。 先ずは定義 非同期処理:JSにおける非同期処理は、プログラムコードを上から順に1行ずつ実行していきません コールバック:他のコードの引数として渡されるサブルーチンである 例 function A(callback){ console.log("I am A"); callback(); //渡されるサブルーチン } function B(){ console.log("I am B"); } A(B); 非同期処理とコールバック コールバックは非同期処理を実現するの手段の一つであり、逆にコールバックで実装したコードは必ず非同期処理とは言えません。 上の例がコールバックで同期処理の例です。
Big Changes Browser Contexts can be used to isolate the cookies and other data usually shared between pages. Workers can now be used to interact with Web Workers. pptr.dev is the new official site for Puppeteer docs. It is open source at https://github.com/GoogleChromeLabs/pptr.dev Chromium 69.0.3452.0 (r564778) API Changes Added browser.browserContexts() (3b03ff6) browser.createIncognitoBrowserCo
状態遷移テスト - state transition testing - WACATE 2018 夏での状態遷移テスト説明資料。 WACATE 2018 summer http://wacate.jp/2018/summer/program.html
This article describes some key fundamentals that are common to all JavaScript engines — and not just V8, the engine the authors (Benedikt and Mathias) work on. As a JavaScript developer, having a deeper understanding of how JavaScript engines work helps you reason about the performance characteristics of your code. Note: If you prefer watching a presentation over reading articles, then enjoy the
You have a block of code that throws an exception. You have tried putting it inside a try..catch block, but it still does not get caught. You have been told the error is thrown asynchronously, but you are not sure what is exactly going on. You would like to understand why your code doesn't catch it. try { // perform work asynchronously that // throws error at some point } catch (e) { // catch erro
Version 1.93 is now available! Read about the new features and fixes from August. What is jsconfig.json? The presence of jsconfig.json file in a directory indicates that the directory is the root of a JavaScript Project. The jsconfig.json file specifies the root files and the options for the features provided by the JavaScript language service. Tip: If you are not using JavaScript, you do not need
Intruducing Enhanced Communication Paths over Layer-4 (Multipath) 概要 インターネットが発展するにつれて,アプリケーションが多様化してきました. 多様化したアプリケーションはネットワークに高機能性を要求します. 本記事で述べる「高機能性」とは,マルチパス,耐遅延性ネットワーク,ミドルボックスを 用いた通信路のようなものを指します.本記事の目的は,こうした高機能な通信路のモデル を具体例を用いながら紹介し,通信路のモデルの整理をすることにあります. 研究紹介のカテゴリにしておきながら,今回はあまり踏み込んだ話はしません. 前提知識はあまり必要としませんが,TCP/IP の基本的な仕組みを知っていると尚良いと思います. おことわり 本当はマルチパス以外も書きたかったのですが,長くなりすぎるので今回はマルチパスだけです. (マルチ
Every developer knows state management is difficult. Continuously keeping track of what has been updated, why, and when, can become a nightmare, especially in large applications. In the Angular world, the most popular solution is ngrx/store, which was inspired by the famous Redux model. Personally, I’m a big fan of Redux and worked a lot with ngrx; However, both as a developer and as a consultant,
One of my colleagues is transitioning to the front-end team that I used to be a part of. To prepare him mentally for his journey into front-end development, I’ve been sending him a newsletter I call Front-End Hack of the Day. I’m posting them to Medium now for the world to enjoy. When the browser autofills a form field, it adds some styling to highlight which fields it has edited. In Chrome, as yo
Today I’m super excited to release Parcel v1.9.0, a huge release including some awesome features! Check it out on Github. The highlights of this release include: 🌳 Tree Shaking for both ES6 and CommonJS modules — Parcel now removes unused code from your production bundles by completely compiling away the module system, reducing the file sizes and initialization times of bundles considerably.👀 Up
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く