Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #51 (permalink)  
Старый 21.10.2016, 19:33
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,491

Сообщение от Lemme Посмотреть сообщение
Это все легко, ибо я новичек и с этим проблем не возникало.
А форум говорит что ты "Профессор".)
Вообще под новичком я подразумевал человека, тоторый просто берёт и начинает делать то что ему нужно, максимум имя за спиной давно забытые школьные основы бейсика или студенческие основы C. С php так можно, с Node - неа.
__________________
29375, 35

Последний раз редактировалось Aetae, 21.10.2016 в 19:36.
Ответить с цитированием
  #52 (permalink)  
Старый 21.10.2016, 20:24
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Сообщение от Aetae
С php так можно, с Node - неа
это к чему утверждение?
к обоим языкам можно писать расширения на с и с++
чего вам не хватает, что начинаете ругать одно или другое
Ответить с цитированием
  #53 (permalink)  
Старый 21.10.2016, 20:34
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,491

Poznakomlus, никто ничего не ругает. Я говорил про порог вхождения.
__________________
29375, 35
Ответить с цитированием
  #54 (permalink)  
Старый 21.10.2016, 21:20
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

да php порог ниже согласен,
я по себе скажу PHP 5 в подлиннике, Котеров был отличной книгой учебником
а вот PHP 7 Котеров читаю и вижу говнокод, а книгу писали (якобы) люди с 15 летним стажем, что говорить про остальных
Ответить с цитированием
  #55 (permalink)  
Старый 22.10.2016, 07:14
Интересующийся
Посмотреть профиль Найти все сообщения от MegaScript
 
Регистрация: 28.08.2016
Сообщений: 13

Сообщение от Aetae
Новичку вообще нереально поставить и настроить себе все эти бабелы, вебпаки и прочую ересь, чтоб оно таки заработало.)
блин точно, я и забыл что это ж не из коробки идет) и что костыли типа вебпаков стали уже нормой.
Ответить с цитированием
  #56 (permalink)  
Старый 22.10.2016, 07:16
Интересующийся
Посмотреть профиль Найти все сообщения от MegaScript
 
Регистрация: 28.08.2016
Сообщений: 13

Сообщение от Lemme
И теперь вопрос MegaScript, где async/await проше, чем синхронный код?
в разы

try {
   console.info(await echo('hey'))
} catch (e) {
   console.error(e)
}


Он вообще ничем не отличается от обычного кода кроме оператора await который новечкам не то что ПОНЯТЕН, он им НЕОБХОДИМ, я помню все детство меня бесило что яваскрипт нельзя на время приостановить чтобы что-то сделать. А так тут он еще и неблокирующую приостановку делает. У меня мозг вообще тогда не понимал как это javascript все мгновенно делает, а как тогда например таймаут задать? или там обрабоать ответ от сервера? и потом я узнал про каллбаки, а потом понял что это костыли которые люди использовали пока промисы не изобрели, а потом и await собственно. так что да, await раз в 200 проще чем промисы, для этого его собственно И ПРИДУМАЛИ чтобы ПРОШ\ЩЕ и САХАРНЕЕ было)) с подключением

Последний раз редактировалось MegaScript, 22.10.2016 в 07:21.
Ответить с цитированием
  #57 (permalink)  
Старый 22.10.2016, 12:26
Аватар для Lemme
Профессор
Отправить личное сообщение для Lemme Посмотреть профиль Найти все сообщения от Lemme
 
Регистрация: 15.07.2015
Сообщений: 511

MegaScript, ясно, сори, но ты отбитый.

Ладно, последняя попытка, выполни следующий код с помощью async/await, так, что бы в консоль вывелось

Цитата:
foo
bar
не меня последовательность кода и задержку.

setTimeout(console.log, 1000, 'foo')
setTimeout(console.log, 500, 'bar')

Последний раз редактировалось Lemme, 22.10.2016 в 12:36.
Ответить с цитированием
  #58 (permalink)  
Старый 22.10.2016, 16:08
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Цитата:
А так тут он еще и неблокирующую приостановку делает. У меня мозг вообще тогда не понимал как это javascript все мгновенно делает, а как тогда например таймаут задать?
Ну вот ты сам же и ответил на свой вопрос. Синтаксис async/await очень сладок, но ассинхронность сложна для понимания сама по себе - именно из-за отсутствия блокировок. Новичков вводит в ступор то, как одни участки кода входят в задержку, пока остальные продолжают работать как ни в чем не бывало.

Цитата:
Не говоря уже о том, что "не будет никакого этого вашего async await", т.к. выпилили из стандарта.
Ну не надо ж так пугать. Ничего его не выпиливали, просто отложили. Сейчас async/await в статусе Finished (вот, пожалуйста), это значит, что в 2017 году его включат в стандарт.
Ответить с цитированием
  #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.
Ответить с цитированием
  #60 (permalink)  
Старый 26.10.2016, 23:37
Интересующийся
Посмотреть профиль Найти все сообщения от MegaScript
 
Регистрация: 28.08.2016
Сообщений: 13

контраргументы не завезли видно седня ^^ подожду недельку
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
загрузка файлов node.js или php? faraday Общие вопросы Javascript 4 21.12.2013 23:09
Востребованность разработчиков на Node.js danik.js AJAX и COMET 7 08.12.2012 22:49
Почему PHP в JavaScript? Chiz Общие вопросы Javascript 3 19.04.2012 21:08
PHP + Node.JS Diego Серверные языки и технологии 4 19.02.2012 22:17
Почему не работает из PHP? Pumych Элементы интерфейса 6 12.02.2011 13:51