Название: Asynchronous Programming Patterns in jаvascript : How to Use Async/Await and Promises to Solve Programming Problems Автор: Tamas Sallai Издательство: Leanpub Год: 2021 Формат: ePUB, PDF Страниц: 139 Размер: 10 Mb Язык: English
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.
Внимание
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.