Можно ли синхронно призовать колыбели?
Вопрос
Я использую Express для проекта, и я пробую базу данных CouchDB, используя Cradle. Хотя идея асинхронного выполнения является крутой по соображениям производительности, она делает мой код действительно беспорядком для подпрограмм, где мне нужно сделать несколько вызовов базы данных подряд.
Можно ли совершать звонки в колыбели без использования обратного вызова? Или, я полагаю, более правильно, есть ли лучший способ организовать код, который не включает в себя анонимные функции 3 или 4 анонимных функций друг от друга только для получения результатов запроса базы данных? Код используется только в одном месте, поэтому для меня не имеет смысла использовать именованные функции, которые будут называться только один раз.
Решение
Можно ли совершать звонки в колыбели без использования обратного вызова?
Насколько я знаю, у Cradle есть только асинхронный API.
Или, я полагаю, более правильно, есть ли лучший способ организовать код, который не включает в себя анонимные функции 3 или 4 анонимных функций друг от друга только для получения результатов запроса базы данных?
Сначала я бы порекомендовал прочитать следующие статьи по теме контроля потока, чтобы получить более широкую картину того, что происходит:
- Понимание программирования, управляемого событиями
- Асинхронный дизайн кода с node.js
- Понимание петель событий и написание отличного кода для node.js
- Node.js: асинхронный ввод -вывод для развлечения и прибыли
- Поток управления в узле
- Поток управления в узле, часть II
- Поток управления в узле, часть III
- Асинхронный код в node.js
Затем вы можете сделать вещи простыми и воспользоваться несколькими библиотеками управления потоком, которые касаются вопросов асинхронного кода в node.js: