Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 11.01.2015, 00:29
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
А ты уверен в терминологии?
Дык, никто не мешает в await скормить массив задач, которые будут работать параллельно (ну во всяком случае такое оч легко сделать), но наверн ты прав, это ближе к промисам, но промисы которые done right

Вообще я взял термин из Java

http://doc.akka.io/docs/akka/2.0/java/futures.html

Future<Integer> f2 = f1.map(new Mapper<String, Integer>() {
  public Integer apply(String s) {
    return s.length();
  }
});
 
int result = Await.result(f2, Duration.create(1, SECONDS));


А вот C#

public async void Foo() {
    int length = await ExampleMethodAsync();
}


***

Главное отличие от промисов в том, что мы избавляемся от ненужных функций и можем использовать try-catch.

Цитата:
await всегда ждет promise, сам yield не обладает никакой асинхронностью, это просто точка выхода, тут опять все завязано на промисах
Это всё понятно, но yield позволяет создать прерывание в текущем контексте, что гораздо удобнее промисов на колбеках. Похожий принцип я использовал в Collection, для реализации потоков http://jsfiddle.net/kobezzza/hut2jhL9/
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 11.01.2015 в 00:42.
Ответить с цитированием
  #22 (permalink)  
Старый 11.01.2015, 00:33
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Мне вот интересно что мешает в nodejs сделать нормальные потоки?
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #23 (permalink)  
Старый 11.01.2015, 00:34
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от cyber Посмотреть сообщение
Мне вот интересно что мешает в nodejs сделать нормальные потоки?
Религия Ну а вообще, смотря что считать нормальными потоками, ибо относительно Java в 90% языков нет нормальных потоков. Как по мне: добавили хоть какие бы.
__________________
kobezzza
code monkey
Ответить с цитированием
  #24 (permalink)  
Старый 11.01.2015, 08:25
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Цитата:
После этого добавить необходимые для серверных задач вещи: стандартный http статик-сервер, поддержку блобов в post запросах, работа с куками и т.д.

Только вдумайся: mime-типы и таблица HTTP кодов - это 2 сторонних модуля, кто это проектировал Оо Или они считают, что это не нужно...
Так нода же не только для www. Я бы и http в сторонний модуль вынес - нафиг он в каком-нибудь сборщике/компиляторе/игровом сервере?

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

Цитата:
Так нода же не только для www. Я бы и http в сторонний модуль вынес - нафиг он в каком-нибудь сборщике/компиляторе/игровом сервере?
Не в каждом приложении нужна математическая библиотека, предлагаешь тоже вынести?

Есть такое понятие стандартная библиотека, в которую должны входить все основные инструменты, с которыми может работать платформа. Посмотри, например, стандартную библиотеку Java - там несколько тысяч классов.
__________________
kobezzza
code monkey
Ответить с цитированием
  #26 (permalink)  
Старый 11.01.2015, 10:46
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от kobezzza
Servo + SpiderMonkey
эти слова да девелоперам в уши
Сообщение от kobezzza
Есть такое понятие стандартная библиотека, в которую должны входить все основные инструменты, с которыми может работать платформа. Посмотри, например, стандартную библиотеку Java - там несколько тысяч классов.
только хоть бы не получилось, как в php
Ответить с цитированием
  #27 (permalink)  
Старый 11.01.2015, 11:43
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
только хоть бы не получилось, как в php
Проблема PHP, что у него до сих пор нет спеки и общепринятых стандартов, а стандартная либа - это свалка в глобалспейсе с кастомными биндингами различных C-либ.

В JS, слава Богу, всё иначе.
__________________
kobezzza
code monkey
Ответить с цитированием
  #28 (permalink)  
Старый 11.01.2015, 11:46
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Цитата:
Не в каждом приложении нужна математическая библиотека, предлагаешь тоже вынести?

Есть такое понятие стандартная библиотека, в которую должны входить все основные инструменты, с которыми может работать платформа.
Ну... логично, да, но тогда надо и для остальных основных протоколов нативные модули добавить.
Ответить с цитированием
  #29 (permalink)  
Старый 11.01.2015, 11:52
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
Ну... логично, да, но тогда надо и для остальных основных протоколов нативные модули добавить.
Угу.
__________________
kobezzza
code monkey
Ответить с цитированием
  #30 (permalink)  
Старый 11.01.2015, 12:01
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от kobezzza Посмотреть сообщение
Проблема PHP, что у него до сих пор нет спеки и общепринятых стандартов, а стандартная либа - это свалка в глобалспейсе с кастомными биндингами различных C-либ.

В JS, слава Богу, всё иначе.
ну а у нас свалка в пакетах npm... зачем нужная хорошая STD, если можно засахарить API стандартных модулей и выложить это дело в npm? наверное, такой ход мыслей у иностранных коллег

впринципе, это философия UNIX

проблема одна - избыточность и как следствие, тормоза. но последнего я пока не заметил, так что вангую в 2015 продолжение данного подхода*

*и очень надеюсь, что я ошибаюсь
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книга: JavaScript. Сильные стороны Magneto Учебные материалы 16 21.04.2013 15:28
Интерпретатор Java на JS kobezzza Оффтопик 24 11.10.2012 18:32
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34
Реализация функции JavaScript, меняющей содержимое ячеек таблицы по событию onchange BOJIKOJIAK Events/DOM/Window 1 24.05.2010 05:50