Может ли кто-нибудь порекомендовать действительно сложную книгу по асинхронному программированию в JavaScript? Что-то, что предполагает, что читатель уже знает, как делать что-то в JavaScript, но ищет углубленный анализ поиска наилучшего пути. Что-то, что связано не с настройками производительности и хаками, а с серьезной книгой по архитектуре.JavaScript Asynchronous Design Book?
То, что я искал, входило бы в такие вещи, как асинхронные действия в очереди, унифицируя обработку ошибок между регулярными синхронными исключениями и асинхронными обратными вызовами onError, связывая асинхронные вызовы, обеспечивая при этом операции очистки, необходимые для первоначального вызова, и т. Д. И вопрос как наилучшим образом управлять состоянием, когда 10 запросов Ajax работают одновременно, может быть сама книга.
Вне книг JavaScript, любые рекомендации для любимой книги по таким шаблонам в целом?
Ajax Patterns and Best Practices выглядит как рекомендуемый до сих пор. В стороне, когда я упоминал проблему управления состоянием, я имел в виду состояние в JavaScript на клиенте, а не на сервере. Переход без состояния (кроме аутентификации, кеша и нескольких других исключений, таких как случайные токены для включения в сообщения) на стороне сервера, в значительной степени зависит от того, насколько я заинтересован. – sbrian
ОК, ну, как правило, позаботится ваш код javascript. WRT состояние клиента, когда он разговаривает с сервером, который определяется с помощью запроса XHR, который выполняет ваш JS, - URI и тело запроса должны содержать все состояние, которое серверу необходимо определить для отправки. Если это то, что вы ищете, RESTful Web Services об этом говорит. – linusthe3rd
Часть, которая, как правило, позаботится вашим кодом javascript, является той частью, которую я нахожу очень сложной. Шаблоны завернутых закрытий накапливаются, когда я перехожу к вызовам Ajax. Один вызов имеет onSuccess и onFailure, но после его завершения может быть сделан еще один вызов Ajax, который имеет onSuccess/onFailure, который обертывает предыдущий onSuccess/onFailure с помощью некоторого дополнительного кода и т. Д. Делает для уродливого кода множество блоков try/catch , Существуют также шаблоны, которые являются вариантами очереди задач. Укрепление написания инфраструктуры для всего этого как уровня между jQuery Ajax и приложением. – sbrian