Comments 12
То есть, в плане
Future
/ async
/ await
, Dart абсолютно ничем не отличатся от JS Promise
(ES6) / async
/ await
(ES7):Future -> Promise
future.then -> promise.then
future.catchError -> promise.catch
Future.wait -> Promise.all
fn() async { } -> async function fn(){ }
await fn() -> await fn()
0
UFO just landed and posted this here
Да, только в Dart они уже есть в стабильной ветке, собраны в одном месте, работают и компилируются в JS. В родном JS они повсеместно придут ещё не скоро.
0
В JS
async
/ await
я использую больше года. Promise
— несколько лет. Babel, можно отдельно regenerator, traceur — ну да, совсем не скоро :)-2
Тут смотря как сравнивать. Я вам говорю про «голые» языки без дополнительных тулзов. В тех средах где запускается Dart, stream/future/async/await работают из коробки. Вышеперечисленные фичи JS без компиляции мало где заработают.
0
Да, Dart — это «голый» и не компилируемый в JS язык программирования, юмор оценил :)
0
Я понял так, что говорили о том, что Dart сам по себе имеет все фичи из коробки, и они работают. Когда ведется разработка с использованием дарта, все запускается в браузере Dartium, где дарт как раз не компилируется и работает нативно. А перед паблишем уже идет компиляция в js. Все из коробочки.
0
Не понимаю. Я говорил только о том, что этот функционал в Dart и JS идентичен — а мне начинают доказывать, что это функционал есть Dart а в JS будет неизвестно когда, при том, что согласно новой стратегии развития Dart, в первую очередь, компилируемый в JS язык и с этой позиции ничем не отличается от грядущих стандартов JS, которые также где-то доступны из коробки, а где-то требуют полифилов и компиляции в старый синтаксис. Кроме, разве что, того, что повсеместное внедрение этих стандартов планируется, а Dart'a — нет.
0
Ну так-то да, текущая ситуация такова, что оба языка должны компилироваться в старый нормальный JS с какими-то костылями, и для языка, и для браузера.
Но разница есть, в пользу дарта следующая:
1. Разрабатывая на дарте, можно пропускать этап компиляции в JS (в Dartium отлаживаем же) — это экономия времени.
2. У дарта есть некая инфраструктура, ничуть не хуже node.js и npm, и многие считают даже более вревосходящей.
То есть, на данный момент, разработка на дарте будет несколько удобнее, чем на JS 6.
Но может я чего-то не знаю, и у JS 6 есть чем здесь ответить, поправьте меня в таком случае.
Но разница есть, в пользу дарта следующая:
1. Разрабатывая на дарте, можно пропускать этап компиляции в JS (в Dartium отлаживаем же) — это экономия времени.
2. У дарта есть некая инфраструктура, ничуть не хуже node.js и npm, и многие считают даже более вревосходящей.
То есть, на данный момент, разработка на дарте будет несколько удобнее, чем на JS 6.
Но может я чего-то не знаю, и у JS 6 есть чем здесь ответить, поправьте меня в таком случае.
+1
Компилировать в JS нужно только один раз перед выкладыванием кода в продакшн.
При разработке, внеся изменения в код, мы просто нажимаем F5 в Dartium и мгновенно можем увидеть работу новой версии кода.
Это очень убыстряет разработку.
При разработке, внеся изменения в код, мы просто нажимаем F5 в Dartium и мгновенно можем увидеть работу новой версии кода.
Это очень убыстряет разработку.
+1
Важно пометить функцию main() как async.
0
Sign up to leave a comment.
Асинхронное программирование в Dart (часть 1)