11.01.2015, 00:29
|
|
Быдлокодер;)
|
|
Регистрация: 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, 11.01.2015 в 00:42.
|
|
11.01.2015, 00:33
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
Мне вот интересно что мешает в nodejs сделать нормальные потоки?
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
11.01.2015, 00:34
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Сообщение от cyber
|
Мне вот интересно что мешает в nodejs сделать нормальные потоки?
|
Религия Ну а вообще, смотря что считать нормальными потоками, ибо относительно Java в 90% языков нет нормальных потоков. Как по мне: добавили хоть какие бы.
|
|
11.01.2015, 08:25
|
|
Профессор
|
|
Регистрация: 24.09.2013
Сообщений: 1,436
|
|
Цитата:
|
После этого добавить необходимые для серверных задач вещи: стандартный http статик-сервер, поддержку блобов в post запросах, работа с куками и т.д.
Только вдумайся: mime-типы и таблица HTTP кодов - это 2 сторонних модуля, кто это проектировал Оо Или они считают, что это не нужно...
|
Так нода же не только для www. Я бы и http в сторонний модуль вынес - нафиг он в каком-нибудь сборщике/компиляторе/игровом сервере?
Последний раз редактировалось Erolast, 11.01.2015 в 08:50.
|
|
11.01.2015, 09:18
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Цитата:
|
Так нода же не только для www. Я бы и http в сторонний модуль вынес - нафиг он в каком-нибудь сборщике/компиляторе/игровом сервере?
|
Не в каждом приложении нужна математическая библиотека, предлагаешь тоже вынести?
Есть такое понятие стандартная библиотека, в которую должны входить все основные инструменты, с которыми может работать платформа. Посмотри, например, стандартную библиотеку Java - там несколько тысяч классов.
|
|
11.01.2015, 10:46
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
Сообщение от kobezzza
|
Servo + SpiderMonkey
|
эти слова да девелоперам в уши
Сообщение от kobezzza
|
Есть такое понятие стандартная библиотека, в которую должны входить все основные инструменты, с которыми может работать платформа. Посмотри, например, стандартную библиотеку Java - там несколько тысяч классов.
|
только хоть бы не получилось, как в php
|
|
11.01.2015, 11:43
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Цитата:
|
только хоть бы не получилось, как в php
|
Проблема PHP, что у него до сих пор нет спеки и общепринятых стандартов, а стандартная либа - это свалка в глобалспейсе с кастомными биндингами различных C-либ.
В JS, слава Богу, всё иначе.
|
|
11.01.2015, 11:46
|
|
Профессор
|
|
Регистрация: 24.09.2013
Сообщений: 1,436
|
|
Цитата:
|
Не в каждом приложении нужна математическая библиотека, предлагаешь тоже вынести?
Есть такое понятие стандартная библиотека, в которую должны входить все основные инструменты, с которыми может работать платформа.
|
Ну... логично, да, но тогда надо и для остальных основных протоколов нативные модули добавить.
|
|
11.01.2015, 11:52
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Цитата:
|
Ну... логично, да, но тогда надо и для остальных основных протоколов нативные модули добавить.
|
Угу.
|
|
11.01.2015, 12:01
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
Сообщение от kobezzza
|
Проблема PHP, что у него до сих пор нет спеки и общепринятых стандартов, а стандартная либа - это свалка в глобалспейсе с кастомными биндингами различных C-либ.
В JS, слава Богу, всё иначе.
|
ну а у нас свалка в пакетах npm... зачем нужная хорошая STD, если можно засахарить API стандартных модулей и выложить это дело в npm? наверное, такой ход мыслей у иностранных коллег
впринципе, это философия UNIX
проблема одна - избыточность и как следствие, тормоза. но последнего я пока не заметил, так что вангую в 2015 продолжение данного подхода*
*и очень надеюсь, что я ошибаюсь
|
|
|
|