Эти два модуля node.js делают то же самое? - PullRequest
1 голос
/ 23 ноября 2011

https://github.com/caolan/async

https://github.com/maxtaco/tamejs

Это два модуля. Мне кажется, это одно и то же, верно?

Или ... они используются в разных ситуациях?

Ответы [ 2 ]

1 голос
/ 23 ноября 2011

async - это библиотека, которая предоставляет методы, позволяющие вам контролировать поток вашей программы.Например: «Я хочу обрабатывать каждый элемент в массиве асинхронно и выполнять эту функцию после завершения всей обработки».

TameJS заставляет вас писать код, который не является JS, но будет преобразован в JS.Его цель - упростить процесс асинхронного программирования.

Я лично использовал TameJS, и с ним есть несколько проблем:

  • Когда сообщается об ошибкеномер строки - это номер строки файла JS, а не файла TJS, который вы написали.Отслеживание ошибок - это боль.
  • Могут быть ошибки, которые трудно отследить.Я помню ошибку с return res.send(200), когда запрос не отправлялся.Это уже исправлено, но у меня во рту очень плохой вкус.

Сейчас я использую async и считаю, что код может очень легко читать и понимать.

В качестве последнего предложения, возможно, вам следует попробовать написать собственный код для управления потоком управления.Если вы новичок в JS, то было бы очень полезно изучить, что эти библиотеки делают внутри.Даже если вы находитесь в затруднительном положении, лучше всего понять, что делают внешние библиотеки, чтобы вы могли наилучшим образом использовать их.

1 голос
/ 23 ноября 2011

Они совершенно разные, хотя пытаются решить примерно одну и ту же проблему.В то время как async является очень классной библиотекой управления потоком, которая предоставляет вам некоторые вспомогательные функции для управления вашим асинхронным кодом, tamejs - это (похоже на streamlinejs , который я предпочитаю) набор языковых дополнений для псевдосинхронного кодакоторый компилируется в асинхронный код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...