Вы знаете, как сложно заставить вашу программу Node делать то, что вы хотите. В коде, который вы написали, нет синтаксических ошибок, но при запуске он работает странно...
- код не ждет завершения вызова вашей базы данных перед отображением страницы
- вы получаете Cannot read property of undefined при доступе к вашей переменной после вызова
- Ваши HTTP-вызовы срабатывают одновременно, а не друг за другом, как вы хотели
"... Просто думай асинхронно!" - Но как именно?
Вы должны «мыслить асинхронно» при программировании в Node, но не совсем понятно, как этого добиться. Примеры в руководствах кажутся разумными при их чтении, но перевести их в вашу ситуацию сложно. Вы не знаете, какое заявление написать дальше.
Чтение n-го сообщения Stack Overflow, но ваша страница по-прежнему отображается с нулевым результатом?
Попытка найти официальное решение оставляет вас ошеломленным. Почему официальные документации на nodejs.org не содержат информации о том, как вы должны программировать Node? Похоже, что реальная информация разбросана по блогам, Github и ответам Stack Overflow. Время по этому пути занимает вечность - и вы не знаете, какие произведения лучше всего подойдут вам.
Что если бы вы могли написать приложение, которое у вас в голове
Что если бы вы смогли взять видение и превратить его в работающую программу. Представьте себе, точно зная, какое утверждение написать дальше. Вы были бы тем, кто контролирует ваше приложение. Вы бы написали программы, которые
- завершают вызовы базы данных и только затем продолжают дальнейшую обработку
- переменные, заполненные значениями, когда они вам нужны
- HTTP-вызовы, которые выполняются по одному
Вы сможете выразить логику программы в Node.js. Каждое утверждение в вашей программе будет иметь основания для существования. Время, потраченное на работу над вашим приложением, пойдет на реализацию новых функций.
Это истинные асинхронные вызовы, которые немного трудно понять, но возможно сделать ваш текстовый редактор тем местом, где пишутся рабочие программы.
Вы бы точно знали, какую строку написать дальше
Ключ к написанию рабочих программ - понять, как Node выполняет ваши запросы. Внутренние элементы Node предсказуемы, когда вы уменьшаете уровень отдельных операторов и циклов for. Когда вы посмотрите на систему, которая вступает во владение при возврате из функции верхнего уровня, вы начнете понимать, как работает Node.
Время, потраченное на ваше приложение, пойдет на реализацию новых функций
Когда вы понимаете, что происходит за кулисами, вы можете найти правильную мысленную модель написания программ для Node. Вы сможете писать программы, которые работают как задумано. И это именно то, что вы узнаете в этой книге.
Книга, которая учит правильную модель мышления для приложений Node
Когда вы берете эту книгу, вы узнаете,
- роль программиста Node - запускать операции, регистрировать функции и возвращать управление
- двоякий характер запуска операции в фоновом режиме и получения результатов позже
- порядок выполнения вызовов при выполнении обратных вызовов
- как заставить вещи работать одновременно или после друг друга
- как использовать время ожидания
- как заботиться о других вычислениях, происходящих в вашей программе
Книга написана в сжатой форме, которая идеально подходит для занятых людей, у которых не так много свободного времени.
Упражнения, в которых вы научитесь делать запросы одновременно или по очереди
Одной теории недостаточно, если вы не можете практиковать свои новые навыки. Вы напишите пять программ в качестве заданий. Вы можете создать агрегатор новостей и бота в Твиттере, вызвать API погоды и вычислить криптографические хеш-функции.