Информация об изменениях

Сообщение Re[7]: JS vs. Native: сравнение на реальном нетривиальном пр от 28.11.2017 11:56

Изменено 28.11.2017 12:01 loginx

Re[7]: JS vs. Native: сравнение на реальном нетривиальном примере
Здравствуйте, Ikemefula, Вы писали:


I>
I>async function x() {let y=0; console.time(); for(let i=0;i<10000000;i++){ y+=Math.sin(i);} console.timeEnd(); }
I>


I>Код выполняется ажно 1 секунду и далее не тормозит Замени 10000000 на Infinity, узнаешь много нового.

да, согласен, мало итераци у меня было... однако со встроенным fetch(URL) работает не тормозя гуи хотя ччитать може и 1 час! (большой файд, медленный интернет)

I>Но вообще скучновато наблюдать, как ты открываешь для себя особенность JS, которой двадцать лет или больше


но async появились совсем недавно!! И из описания да и на практике для встроенных fetch(URL)
работает не тормозя гуи. Логично было ожидать что и самодельные async обладают свойствами встроенных в язык async ф-ий типа fetch()

И исходя из публичных док на мозиле
асинк должна немедлено после вызова НЕ начиная выполнять код внутри вернуть
в точку вызоа проимс. И далее что? Выполняется следующая строка и тд
Или все же перед возвратом все же в самодельной ф-ии должно выполнится все тело внутри...?
Но тогда деза в доках!!
Re[7]: JS vs. Native: сравнение на реальном нетривиальном пр
Здравствуйте, Ikemefula, Вы писали:


I>
I>async function x() {let y=0; console.time(); for(let i=0;i<10000000;i++){ y+=Math.sin(i);} console.timeEnd(); }
I>


I>Код выполняется ажно 1 секунду и далее не тормозит Замени 10000000 на Infinity, узнаешь много нового.

да, согласен, мало итераци у меня было... однако со встроенным fetch(URL) работает не тормозя гуи хотя ччитать може и 1 час! (большой файд, медленный интернет)

I>Но вообще скучновато наблюдать, как ты открываешь для себя особенность JS, которой двадцать лет или больше


но async появились совсем недавно!! И из описания да и на практике для встроенных fetch(URL)
работает не тормозя гуи. Логично было ожидать что и самодельные async обладают свойствами встроенных в язык async ф-ий типа fetch()

И исходя из публичных док на мозиле
асинк должна немедлено после вызова НЕ начиная выполнять код внутри вернуть
в точку вызоа проимс. И далее что? Выполняется следующая строка и тд (но тогда когда же стартует выполнение тела асинк ф-ии?)
Или все же перед возвратом все же в самодельной ф-ии должно выполнится все тело внутри...?
Но тогда деза в доках!!

Вот в ф-иях генераторах в доках ясно — старт это вызов next() — возврат — yield()
А в асинк ф-иях где ".next()" ?! Получается на текущий момент самодельные не встроенные в язык async ф-ии это всего лишь кастрированные Генераторы?