Показать сообщение отдельно
  #59 (permalink)  
Старый 26.10.2016, 06:07
Интересующийся
Посмотреть профиль Найти все сообщения от MegaScript
 
Регистрация: 28.08.2016
Сообщений: 13

Сообщение от Lemme
ясно, сори, но ты отбитый.
http://ru.wikipedia.org/wiki/Ad_hominem

Сообщение от Lemme
выполни следующий код с помощью async/await
async function pause(time){
  return new Promise(function (resolve){
    setTimeout(resolve, time)
  })
}


async function log(time, message){
  await pause(time)
  console.log(message)
}

// запускаем параллельно две задачи
log('foo', 1000)
log('bar', 500)


То есть async await позволяет более гибко управлять потоком, там где мы хотим ждать, и там где мы хотим распарралелиться. Более того, мы с ребятами из ES6 думаем добавить оператор await* который принимает на вход массив промисов и ждет их всех.

Тогда бы можно было распарралелить две задачи, а потом выполнить код ПОСЛЕ завершения их всех, вот так:
await* [log('foo', 1000), log('bar', 500)]
alert('обе задачи выполнены')


Пока же для этого не придумали сахар, приходится делать так:
await Promise.all([log('foo', 1000), log('bar', 500)])
alert('обе задачи выполнены')


А теперь ТЫ мне сделай чтобы после выполнения:
setTimeout(console.log, 1000, 'foo')
setTimeout(console.log, 500, 'bar')

вывелось сообщение alert('обе задачи выполнены'). СЛАБО?? что, отбитый, ОБОСРАЛСЯ???? ну же, я жду код.


==============================
Сообщение от Erolast
Новичков вводит в ступор то, как одни участки кода входят в задержку, пока остальные продолжают работать как ни в чем не бывало.
Новичкам очень нравится что только ЭТА функция приостановилась, а остальные работают как надо и не тормозится ничего, а как надо будет, эта продолжится. Ровно так же работает и PHP, если ты напишешь sleep(500) твой скрипт ПРИОСТАНООВИТСЯ!! но СЕРВЕР ПРОДООЛЛЖИТ ПРИНИМАТЬ И ВЫПОЛНЯТЬ ЗАПРОСЫ от других пользователей. Все логично. Следовательно ты не прав а я прав.

К тому же теперь, чтобы все было так же просто как и в PHP, в node js вы можем писать как бы синхронный код.

Там где мы в php делали запрос к базе и наш скрипт приостанавливался (А ДРУГИЕ PHP СКРИПТЫ РАБОТАЛИ КАК Ни В ЧЕМ НИ бывАло), в node мы теперь можем сделать наконец ТО ЖЕ САМОЕ(!) просто дописав перед запросом к базе данных await.

Вы поняли свою ошибку? ЕСЛИ ЖЕ по данной причине сложен NodeJS то ПО ДАННОЙ ЖЕ ПРИЧИНЕ сложен и PHP!!! Если по данной причине НЕ сложен PHP, значит по этой же причине НЕ сложен и NodeJS. Any questions?

Последний раз редактировалось MegaScript, 26.10.2016 в 06:43.
Ответить с цитированием