Goodreads helps you keep track of books you want to read.
Start by marking “You Don't Know JS: Async & Performance” as Want to Read:
You Don't Know JS: Async & Performance
Enlarge cover
Rate this book
Clear rating
Open Preview

You Don't Know JS: Async & Performance

(You Don't Know JS #5)

4.30  ·  Rating details ·  525 ratings  ·  36 reviews
No matter how much experience you have with JavaScript, odds are you don't fully understand the language. As part of the "You Don't Know JS" series, this concise yet in-depth guide focuses on new asynchronous features and performance techniques--including Promises, generators, and Web Workers--that let you create sophisticated single-page web applications and escape callba ...more
Paperback, 296 pages
Published March 9th 2015 by O'Reilly Media (first published September 25th 2014)
More Details... Edit Details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

To ask other readers questions about You Don't Know JS, please sign up.

Be the first to ask a question about You Don't Know JS

Community Reviews

Showing 1-30
Average rating 4.30  · 
Rating details
 ·  525 ratings  ·  36 reviews


More filters
 | 
Sort order
Start your review of You Don't Know JS: Async & Performance
Daniel R.
Jun 24, 2015 rated it liked it
This book dives deep into various techniques for handling asynchronous operations in JavaScript. In particular the simplicity and drawbacks of callbacks are outlined with suggestions to address them as the cost of added code complexity. The chapter on promises is one of the best that I've read and walks through great examples of chaining and the power of composing. The chapter on generators focuses on modeling asynchronous code in a more synchronous manner. I was unconvinced and found the code e ...more
Temur Tchanukvadze
Dec 29, 2018 rated it it was amazing
Shelves: js
You think you know JS? Read this book!
Xanan
Aug 26, 2018 rated it liked it
This book should have ended with chapter 4.

Chapters 1-4 deal with the "Async" stuff.
Chapter 1 starts with a general introduction to concurrency and asynchrony and how it is managed in JavaScript via the event queue.
chapter 2 describes callbacks: the pre-ECMAScript 6 way to manage asynchrony and focuses on its limitations.
Chapter 3 details every possible aspect of Promises and how they solve the limitations of callbacks.
Chapter 4 deals with Generators: another welcome new feature of ECMAScript 6
...more
Vlad Ardelean
Dec 24, 2018 rated it really liked it
Shelves: tech
Quite technical, not at all light, very interesting read. Although understanding promises and generators is quite handy, the last part about advanced patterns is one of those things that I'm not sure when I'll end up using.

Still, while I personally appreciate knowing stuff, without worrying too much about when I'll find that knowledge useful, some more pragmatic folks will probably skip those parts (apendixes).

The chapter about promises is a little too preachy, promising that they will save us f
...more
Ilya Ivanov
Sep 12, 2016 rated it it was amazing
I have never imagined that there are so many concerns not with callbacks, but regarding promises as well.

Wonderful book on handling async requests via callbacks, promises and handling them via generators. Kyle looks ahead a bit into ES7 async\await features.

Last two chapters cover web performance, from general topics: Web Workers, SIMD, asm.js, to very specific ones: benchmarking pieces of js code, figuring out crucial path. I will definitely take a look at https://benchmarkjs.com


...more
Sathish Paul
Aug 09, 2017 rated it really liked it
A fantastic exploration of what "async" means in the context of JavaScript. I was amazed at the depth of explanation provided especially for the Promises chapter. It is a gold mine in my opinion, one that I expect to be returning to again and again.

The author's take on Generators is pretty interesting. Though I must confess, after a while, it started going a little above my head. This only means that the text is dense and needs re-reading. This also makes me think how much of this can I apply in
...more
Helen
Oct 05, 2018 rated it it was amazing
Clear and easy to understand, this has helped me make sense of the often murky world of promises and generators.

It's very information dense but I found it easier to get to grips with by reading through a chapter and then going back and trying out the supplied code for myself.

The performance chapters didn't feel as in-depth as the rest of the book but they did cover a few little things that the JavaScript engine will do to your code without you knowing (eg unrolling recursion for you if it thin
...more
Hưng Đặng
Mar 04, 2019 rated it really liked it
Shelves: it-books
The most interesting thing today is that I got one question in my interview about Promise and it was covered in this book.
A few things from the top of my mind:
1. Callbacks are no good, use them sometimes and avoiding nest them. For many async task, try using Promise.
2. Promise tends to swallow errors so use it with async/await
3. Optimization my code is more complicated than other devs suggest. Using jsperf.com or benchmarkjs to test my optimzation.
There are more to this book that I have yet put
...more
Jon Jones
Dec 25, 2019 rated it it was amazing
Every book in this series is a must-read for a Javascript dev. This one does not fail to deliver. The reason I choose to read this book is to learn more about how aysnc works in JS. I never really mentally grasped ASYNC with full confidence even though I've been using it for over 10 years. I would need to google the best approach for addressing deadlocks or race conditions.

This book definitely helped gave me a much fuller understanding of async. All the issues with callback, not just callback he
...more
Divan Visagie
Mar 30, 2020 rated it did not like it
This is the worst book I have read in my life so far.

It's about 5 times more verbose than it needs to be, making it clear that the entire series actually could have been a single book rather than a series... but gotta make bank right?

Besides the verbosity the author jumps back and fourth referencing both past and future chapters as well as repeating concepts over and over and over... The chapter on promises alone spans around 70 pages and could have honestly been compacted to about 20 or less.

Th
...more
Hatem
May 08, 2019 rated it it was amazing
Amazing book if you want to understand how asynchronicity (or the illusion of asynchronicity) in JavaScript works. Kyle has a unique way of explaining deep technical CS concepts in a simple and straightforward manner. He lays down the differences between concurrency, serialism and parallelism and then use those differences to explain the JS Event loop and then goes into the technicalities of implementation using callbacks, promises, and generators. Finally, he gives some overview of assessing pe ...more
Joe
Dec 13, 2018 rated it it was amazing  ·  review of another edition
I really liked building an understanding for promises and async/await in javascript. One thing that I had never seen before was generators which is the underlying magic behind asynchronous programming in javascript. It was cool to understand that better. The performance aspect of the book could have been more fulfilling but I guess if you're using javascript you probably don't care that much about performance anyway.
Zachary Lysobey
Dec 07, 2019 rated it it was amazing
Shelves: technology
This whole series is awesome. Having read several JS books, it was nice to have a really comprehensive technical treatment on these topics. These books read really well, and somehow manage to be engaging at the same time as being very thorough.

One thing I really like about this book, is that since it is open-sourced and available on GitHub, I can easily reference it when any questions come up about these topics.
Maksymilian
Callbacks, promises and generators. All things asynchronous. No reservations about the quality, but it was a bit boring. Among the books from the YDKJS series by Simpson, even though async operations is are hugely important in frontend programming, this one I liked probably the least and likely will not return to it and will use other resources for this topic. I skipped the addendums about asynquence library authored by Simpson, because it did not seem relevant anymore.
Prakash
Dec 11, 2017 rated it really liked it
The last chapter on performance is a complete dud which could be summarized in a single paragraph. Some of the chapters are overtly long but still exhaustive so 4 stars unless I find a better book on this topic.
Bonkerstone
Aug 09, 2018 rated it really liked it
The first appendix was unnecessary (perhaps the second one as well), the Promise's chapter did get repetitive (but it was still good), and I wish he had gone deeper into performance. Still not a bad book though, worth reading.
Emily Owaki
Feb 12, 2019 rated it really liked it
Shelves: tech-books, 2019
This book ended up more low level than I had expected. Coming in without much of an understanding of generators and async/await, I ended up having to consult outside sources more than I'd have liked, just to be able to follow along with what the writer was talking about.
Shivam Mamgain
Feb 24, 2019 rated it liked it
All the books in the series are quite verbose - over-explanation with analogies doesn't always make it easy to understand concepts. "Async & Performace" title doesn't get concurrency and parallelism right. Rest, it does do a good job of explaining JS's quirkiness. ...more
Heba Atallah
Nov 27, 2017 rated it liked it
Shelves: javascript
*To re-read some chapters
Alexander
Mar 30, 2018 rated it it was amazing
Shelves: ebooks
I don't know why I didn't read this book earlier, for weeks I've been lost with all the "Async-Await" tech talks and now this book, eloquently written offers a clear and consice explanation.
Dmytro Chasovskyi
Jun 20, 2018 rated it really liked it
Shelves: technical
The book itself is good. The only the part I didn't like was about the asyncquence library. I felt it was out of the scope of JavaScript core features. Apart from this book is amazing.
David
Aug 15, 2018 rated it it was amazing
One of the best resources for learning the ins and outs of JS asynchronous programming and Promises. Some really great insight about JS performance and benchmarking too!
Eduardo Vedes
Mar 02, 2019 rated it it was amazing
The best book about javascript I've read in which concerns to async and performance! Learned a lot of new things I didn't know and didn't find in another place.
Julian
Aug 07, 2019 rated it it was amazing
I mean, this series of the books are MUST READ for the engineers that want to feel strong in JS world.
ferhat
Oct 16, 2016 rated it really liked it
Author is right. If you think you know, you're probably wrong.
Abdulfattah Popoola
Feb 15, 2017 rated it liked it
Long book, some parts felt like filler material. Still had some gems though.
Marc Udoff
Nov 07, 2015 rated it it was amazing
This author does a great job walking you through why and how for promises and generators. He touches on a few other concepts at the end, but not in as much depth. Overall this is a great read for learning to write async JS code that is reliable and readable. I would also say a must read for the subject.
Michal Paszkiewicz
Mar 07, 2016 rated it really liked it
A great guide to ES6, promises, generators and so much more, with glimpses into ES7 potential updates. Very easy to read and gives a pretty good understanding of Async programming. A must read for any JS developer.
Zach Smith
Jan 24, 2016 rated it liked it
Shelves: non-fiction
Just as good as the previous ones, but the subject matter is much more complex. This is the crux of Javascript though, so worth a read (+ re-read)
José
Feb 06, 2016 rated it really liked it  ·  review of another edition
Shelves: javascript
Like the other books in this series it is dense, goes into extreme detail, will probably require you to read it at least twice, and it is required reading for serious Javascript developers.
« previous 1 next »
There are no discussion topics on this book yet. Be the first to start one »

Readers also enjoyed

  • JavaScript: The Good Parts
  • Eloquent JavaScript: A Modern Introduction to Programming
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • JavaScript: The Definitive Guide
  • Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • Designing Data-Intensive Applications
  • Refactoring UI
  • Code Complete
  • Clean Architecture
  • Head First Design Patterns
  • The Clean Coder: A Code of Conduct for Professional Programmers
  • JavaScript Patterns
  • High Performance JavaScript
  • Secrets of the JavaScript Ninja
  • The Pragmatic Programmer: From Journeyman to Master
  • The Rust Programming Language
  • Learning React: Functional Web Development with React and Redux
See similar books…

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »
270 followers
Kyle Simpson is an Open Web Evangelist from Austin, TX, who's passionate about all things JavaScript. He's an author, workshop trainer, tech speaker, and OSS contributor/leader.

Other books in the series

You Don't Know JS (6 books)
  • You Don't Know JS: Up & Going
  • You Don't Know JS: Scope and Closures (You Don't Know JS, #2)
  • You Don't Know JS: this & Object Prototypes
  • You Don't Know JS: Types & Grammar
  • You Don't Know JS: ES6 & Beyond

News & Interviews

Need another excuse to treat yourself to a new book this week? We've got you covered with the buzziest new releases of the day. To create our lis...
24 likes · 1 comments
“If at every point that you encounter a surprise or frustration in JavaScript, your response is to add it to the blacklist (as some are accustomed to doing), you soon will be relegated to a hollow shell of the richness of JavaScript. While this subset has been famously dubbed “The Good Parts,” I would implore you, dear reader, to instead consider it the “The Easy Parts,” “The Safe Parts,” or even “The Incomplete Parts.” 0 likes
More quotes…