Показать сообщение отдельно
  #19 (permalink)  
Старый 13.05.2014, 09:50
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
что такое "thunk" ?
Тоже хз Я думаю, что это реализация либы, а не какая то нативная конструкция.

Цитата:
я так понял, с yield и thunk асинхронный код пишется, как синхронный. и он без callback'ов
Угу, сахарок Но, как я уже говорил, что я пока не вижу киллер фич И меня смущает, что в реализации на генераторах юзается концепция: sleep-check-sleep-check... и т.д. не будет ли это дополнительной нагрузкой на приложения на сервере при повсеместном использовании? ... Хотя, возможно внутри Co используется другой подход, т.к. в примере вижу, что асинхронная функция предварительно врапится, т.е. теперь вместо колбеков мы получаем другую боль в заднице - следить за проксированием асинхронных функций

Да и отлов ошибок через try-catch смущает, т.к. поведение JIT для кода внутри таких конструкций очень осторожно, а иногда и просто не применяется.

***

В общем я обязательно попробую Co в работе, чтобы на практике подтвердить или опровергнуть свои опасения Но пока я всецело за простые колбеки с роутерами, будь то промисы или ещё что, т.к. это просто наглядней, имхо

co(function *(){
  var a = yield get('http://google.com');
  var b = yield get('http://yahoo.com');
  var c = yield get('http://cloudup.com');
  console.log(a[0].statusCode);
  console.log(b[0].statusCode);
  console.log(c[0].statusCode);
})()


VS

async.map(['http://google.com', 'http://yahoo.com', 'http://cloudup.com'], get, (err, results) => {
    ...
});


Ну хз, мне второй вариант более по душе
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 13.05.2014 в 10:06.
Ответить с цитированием