Dart 1.9 Теперь С Асинхронностью И Ожиданием


Последняя версия Dart ставит свой вес за асинхронный и ожидающий подход к реализации асинхронного кода. Это действительно единственный разумный способ выполнить эту работу.

Большая проблема с асинхронным кодом заключается в том, что он создает беспорядок в логическом потоке вашей программы. Каждый раз, когда происходит что-то, чего вам приходится ждать, вы должны предоставить обратный вызов, и ваша маленькая логика подходит к концу. Обещания и фьючерсы помогают решить эту проблему, но они тоже искажают поток контроля, и вы все равно быстро оказываетесь в глубоко вложенном беспорядке. 

Лучшим решением, предложенным C# и теперь Dart, является введение двух новых выражений async и await. Они были реализованы в Dart с использованием существующего будущего API. Используя await/async, теперь вы можете писать асинхронный код естественным образом. Например:

var database=await connectDb();var count = база данных ожидания. queryEmployees().длина;

Это имеет обычный вид синхронного потока управления, но первое ожидание приостанавливает выполнение кода и освобождает поток для обслуживания событий и остальной части пользовательского интерфейса. Когда асинхронный вызов завершен, код возобновляется в полном объеме со своим состоянием при следующей инструкции и так далее. Обратите внимание, что вы можете включить асинхронный 

Как только вы поймете, насколько простым и понятным становится асинхронный код с использованием async и await, вы действительно не сможете понять, почему другие языки не вводят их. Хорошей новостью является то, что следующая версия JavaScript, также известная как ECMAScript 2016, должна включать async/await. 

Помимо async и await есть еще несколько улучшений: 

перечисление, теперь полностью поддерживается 

Анализатор Dart переместился на сервер анализа Dart. Это значительно упрощает интеграцию анализа исходного кода Dart в IDE за пределами редактора Dart

Механизм регулярных выражений для виртуальной машины Dart работает в 150 раз быстрее, чем предыдущая реализация

API Isolate теперь полностью реализован в виртуальной машине Dart, что значительно упрощает создание приложений, ориентированных на несколько процессоров.

Учитывая недавнее объявление о том, что Google не будет добавлять виртуальную машину Dart в Chrome, вам нужно иметь в виду, что все эти новые функции будут скомпилированы в JavaScript.  

Dart 1.9 будет работать на IE 9,10 и 11, а также на последних версиях Firefox, Chrome и Safari. Есть, конечно, серверный Dart, где проблемы работы с JavaScript исчезают. 


Добавить комментарий