Re[8]: JS vs. Native: сравнение на реальном нетривиальном пр
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 28.11.17 12:07
Оценка:
Здравствуйте, loginx, Вы писали:

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, узнаешь много нового.

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

И при чем здесь async ? fetch и без него не морозит UI

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


L>но async появились совсем недавно!! И из описания да и на практике для встроенных fetch(URL)

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

Логично проверить fetch безо всяких асинков и узнать, что асинк ни при чем.

L>И исходя из публичных док на мозиле

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

Нет дезы. Надо разобраться в промисах.

L>Вот в ф-иях генераторах в доках ясно — старт это вызов next() — возврат — yield()

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

Унутре. Именно.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.