Цитата:
|
А ты уверен в терминологии?
|
Дык, никто не мешает в 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/