Asynchronous Programming Patterns in jаvascript
by Tamás Sallai
English | 2021 | ASIN: B08VN4N3G6 | 139 Pages | PDF, EPUB | 6.2 MB
Master modern asynchronous programming in jаvascript. Learn the basics of async functions and Promises, then the common patterns that emerge when using async/await. Know how to write code that handles edge cases and concurrency right. Asynchronous programming is everywhere in jаvascript. This is the result of the fundamental choices that define how it works. In other languages, you can use multiple threads and that allows synchronous waiting, a crucial feature missing from jаvascript. It is by design single-threaded and a wait operation stops everything, just think of the case where a long calculation freezes the UI.
Without a way to wait for a later result synchronously, jаvascript needs to use callbacks. Even simple things like waiting for a given duration requires a function that will be run when the time is up.
You can find this pattern everywhere, as most of the things are asynchronous in nature. Using fetch to make an HTTP call to a server is an async operation. Just like getting information about the available cameras and microphones with the getUserMedia call, as it needs to get permission from the user. Same with reading and writing files. While these have synchronous versions for now, they are terrible for performance. Or want to do some web scraping with Puppeteer? Every single instruction is asynchronous as all of them communicate with a remote process. Or for backend applications, reading or writing data to a database is also inherently async.
And not only that some functions are async but all the other functions that call them need to be async too. A piece of functionality that requires making a network call, for example, is asynchronous, no matter how insignificant that call is compared to what other things the function is doing. Because of this, almost all jаvascript applications consist of mostly asynchronous operations.
Over the years, the language got a lot of features that make writing async code easier. Gone are the days of the so-called callback hell where a series of callback-based async calls made the program's structure very hard to understand and easy to inadvertently silence errors.
But asynchronous programming is inherently hard. While the language helps with the syntax to make understanding and writing code easier, asynchronicity introduces a lot of potential errors, most of them so subtle they only occur in special circumstances.
Even though I've been working for many years with asynchronous code, some of the problems in this book took me a week to reach a solution I'm happy with. My goal with this book is that you'll have an easier time when you encounter similar problems by knowing what are the hard parts. This way you won't need to start from zero but you'll have a good idea of what are the roadblocks and the best practices.
This book is divided into two parts.
The first chapter is an introduction to async/await and Promises and how each piece of the async puzzle fit together. The primary focus is async functions as they are the mainstream way to program asynchronously in jаvascript. But async/await is a kind of magic without knowing about Promises, so you'll learn about them too.
By the end of the first chapter, you'll have a good understanding of how to use async functions and how they work under the hood.
The second part of the book consists of several common programming tasks and problems. You'll learn when that particular problem is important, how to solve it, and what are the edge cases. This gives you a complete picture so that when you encounter a similar problem you'll know how to approach it.
[center]
Buy Premium From My Links To Get Resumable Support,Max Speed & Support Me
https://uploadgig.com/file/download/dC3493937F982b30/46v3q.Asynchronous.Programming.Patterns.in.jаvascript..How.to.Use.AsyncAwait.and.Promises.to.Solve.Programming.Problems.rar
https://rapidgator.net/file/2104c063569e9d9adc774604bd1a739f/46v3q.Asynchronous.Programming.Patterns.in.jаvascript..How.to.Use.AsyncAwait.and.Promises.to.Solve.Programming.Problems.rar.html
http://nitro.download/view/7070029C775426A/46v3q.Asynchronous.Programming.Patterns.in.jаvascript..How.to.Use.AsyncAwait.and.Promises.to.Solve.Programming.Problems.rar