Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Почему node.js до сих пор не убил PHP? (https://javascript.ru/forum/offtopic/43810-pochemu-node-js-do-sikh-por-ne-ubil-php.html)

Lemme 26.10.2016 23:43

MegaScript, разве твой код проще, чем синхронный?

Цитата:

вывелось сообщение alert('обе задачи выполнены'). СЛАБО?? что, отбитый, ОБОСРАЛСЯ???? ну же, я жду код
const run = gen => {
    const it = gen(msg => it.next(msg))
  it.next()
}
 
run(function* (r) {
  console.log(yield setTimeout(r, 1000, 'foo'));
  console.log(yield setTimeout(r, 500, 'bar'));
  alert('done');
});

MegaScript 27.10.2016 01:36

Цитата:

Сообщение от Lemme
разве твой код проще, чем синхронный?

Я не понял вопроса, мы сравниваем два подхода. в PHP и в NODE.js

в PHP пишется так:
$result = db->query('bla bla');


в node.js к этому лишь добавляется оператор await
var result = await db.query('bla bla');


Сделатьельно асинхронка в nodejs не слжонее для понимания чем синхронка в php.

Таким образом я ДОКАЗАЛ ВЕРНОСТЬ своего утверждения.

А то что там какой то чувак меня попросил написать ТАЙМАУТ НА ПРОМИСАХ, это уж наркомания полная, но раз он попросил то я ему написал)) это к разговору вообще отношения не имеет, но раз попросили. А этот ребенок еще и нагрубил мне, а как ответку получил сразу обосрался и минусанул, аж с трех аккаунтов.


UPD: ой, это ты и просил))), я надеюсь ты сам то головой понимаешь что ты просишь несусветный бред НУ ВООБЩЕ не связанный с темой разговора???)))

Нет ну ты вдумайся, ты попросил меня написать какой то бред не связанный с темой разговора, при чем попросил для этого использовать инструменты для этого не предназначенные, а когда я написал, ты сказал что мой код не красивый, и использовал это как аргумент К НЕВЕРНОСТИ МОЕГО УТВЕРЖДЕНИЯ))))) ЧУВАК ДА ТЫ БОЛЬНОЙ че я еще могу сказать, еще и нахамил, мдааа, ну у вас и форум))

Lemme 27.10.2016 01:50

Цитата:

я надеюсь ты сам то головой понимаешь что ты просишь несусветный бред
MegaScript, таймауты на промисах бред, но только так можно было выбить из тебя, что не все так просто - "добавил await и все ахуенно". А на счет не по теме, все аргументы были к этому громкому заявлению:

Цитата:

Основная его фича - синхронность всего и вся, никогда не даст ей стать базой для новичка. Слишком сложно для понимания по сравнению с async await в js
Все остальное, лишь твои фантазии.

Цитата:

var result = await db.query('bla bla');
Все круто,но не все ж возвращает промис.


возьмем node-jsonwebtoken
jwt.verify(token, secretOrPublicKey, [options, callback])


Что бы сделать все красиво, нужно написать что-то вроде этого, а потом уже использовать await...
const verifyToken = token => new Promise((resolve, reject) => {
  jwt.verify(token, secretOrPublicKey, async(err, decoded) => {
    if (err) reject(err);
    resolve(decoded);
  });
});

MegaScript 27.10.2016 03:19

Lemme, каким образом таймауты на промисах связаны с темой разговора?
И к слову, в своем решении ты использовал генераторы, а должен был только каллбаки. хотя я вообще не совсем понимаю твою логику с таймаутом, так что видимо тебе виднее к чему этот пример.

Цитата:

Сообщение от Lemme
Все круто,но не все ж возвращает промис.

В данном коде
db.query
возвращает промис.

Цитата:

Сообщение от Lemme
возьмем node-jsonwebtoken

Устаревшие библиотеки по прежнему используют каллбаки, а новые, если не передан каллбак, возвращают промис.
И что из этого следует? Как это вообще противоречит или связано с тем что я сказал?

Что люди не всегда смогут использовать асинх евейд, и придется использовать каллбаки и по этому будет слжоно для мозга новичкам использовать каллбаки такие же какие они используют и на клиенте в браузере, при том что в браузере им не сложно, а на сервере им вдруг станет сложно, потому что это сервер, а сервер он серверный, сервернОй, серверянный потому что потому что гладиолус???? Какая логика вообще?)))


То есть когда в браузере мы каллбаки делаем новичкам самый сок, а когда на сервере, то у них сразу мозг клинит и им трудно понять ассинхронку?)))

Lemme 27.10.2016 10:43

Цитата:

каким образом таймауты на промисах связаны с темой разговора?
Ибо ты написал, что синхронный код в PHP гораздо сложнее для понимания новичкам, чем async/await в js.
А я лишь доказал обратное, что не все может выглядеть так просто с async/await, я, конечно, согласен, что синхронный код далеко не всегда проще асинхронного, но в данном контексте это не так.

Т.е данный код в PHP
sleep(1000)
echo 'foo'
sleep(500)
echo 'foo'

Проше, чем аналогичный в JS

const sleep = time => new Promise(resolve => setTimeout(resolve, time))

(async () => {
	
  await sleep(1000)
  console.log('foo')
  await sleep(500)
  console.log('bar')
  
})()


Цитата:

И к слову, в своем решении ты использовал генераторы, а должен был только каллбаки
Нет, такого договора не было.

setTimeout(() => {
  console.log('foo')
  setTimeout(() => {
  	console.log('bar')
    alert('done')
  }, 500)
}, 1000)


p.s я не думаю, что стоит продолжать этот бессмысленный разговор

kobezzza 27.10.2016 11:38

Лол, вот вы срач развели. Нода с нонблок подходом не уникальна и точно не первая, кто это сделал. Во всех популярных языках есть такие фреймворки, и даже (о боже) в PHP есть.

Python - Twisted, Tornado;
Java - Vertx;
Scala - Spray;
PHP - PHPDaemon;

... тысячи их.

Говоря о моде: ща планку моды держит Go (даже всеми нами уважаемый Холивайчук свалил на Го), а нода уже просто заняла своё место под солнцем и всё, и никто никого убивать не будет. Вы так говорите, будто кроме пыха и ноды других языков нет.

Пишите на чём нравится и что лучше решает ваши задачи, и не ебите мозг окружающим)

MegaScript 27.10.2016 12:00

Цитата:

Сообщение от Lemme
Ибо ты написал, что синхронный код в PHP гораздо сложнее для понимания новичкам, чем async/await в js.

ТАК ЭТО ЖЕ Я ПЕРЕДНАЗНИЛ ЧУВАКАААА)!!!!!! ТЫ НЕ ПОНЯЛ ШТОЛЕ??) ОН СДЕЛАЛ УТВЕРЖДЕНИЕ КОТОРОЕ НИ ЧЕМ НЕ ПОДКРЕПИЛ, и я ИМЕННО ЭТО И ПЕРЕДРАЗНИИИЛ)) ну как котик делает, дозар или гозар, ну помните)? Он меня так траллил часто. Ну и вот я так же типа передразнил))), ты выше то каммент глянь.


Цитата:

Сообщение от kobezzza
Пишите на чём нравится и что лучше решает ваши задачи, и не ебитМы е мозг окружающим)

Пришел яндексмен и сказал то что все и так знают! Ты давай нам тут срачи не убивай! Мы хотим спорить о том о чем и так знаем! Мы хотим спорить! Чтобы писать пост а потом предвкушать ответ аппонента! Мы хотим спорить и выигрывать! Мы хотим оценить влияние фреймворка ui-js на индустрию! Мы хотим думать что раз я странный то я немо! Хотя я до сих пор так и не понял кто это! МЫ ХОТИМ ЕКШЕНА!!!! ХВАТИТ ВСЕ ПОРТИТЬ)!! ТЫ РУШИШЬ ВСЕ! ТЫ УСПОКАИВАЕШЬ ГОВОРЯ ПРАВДУ С КОТОРОЙ ВСЕ СОГЛАСНЫ!!!! КАК СРАТЬСЯ ТЕПЕРЬ))??

Лан, привет всем. Вообще я аккаунт создал, с именем языка, чтобы представить вам свой новый язык (es6 в стиле coffee) но я подумал что не буду хвастаться пока не доделаю. Но аккаунт пусть пока полежит зареганный чтобы не заняли. В итоге прошло пол года. Я начал делать онлайн ММО RPG на WEBG. и не до языка щас). Но акк остался.

Ну я думаю вы поняли О КОМ речь. Кто еще ударные слова ВОТ ТАК выделяет? ^_^

Кстати вот вы шутили шутили, что мой фреймворк качают только боты, а я уже месяца 3 не делал апдейт, и все ровно качают)!!!! https://www.npmjs.com/package/ui-js

КАК ВЫ ЭТО ОБЬЯСНИТЕ?????????????? При чем в отличии от бреда "Матрешки", я ни где не пиарился, чисто покидал ссылки на свое чудо ребятам с ангуляра и реакта, чтобы вдохновились как я хитро shadow дом эмулировал даже с <content select=''> с мгновенной реакцией на изменение селектора. Секрет прост. По скольку у меня виртуал дом, то ни что не помешало мне сделать МУТЕЙШЕН обсерверы ^__^. Которые я кстати использую для того чтобы избежать при рендеринге сравнения двух ДОМ деревьев ДО И ПОСЛЕ, а именно я накапливаю мутейшены и потом УЖЕ МЕЖДУ НИМИ нахожу кротчайщее расстояние и его рендерю в дом. Но щас не про это разговор. Разговор про то что КАЧАЮТ!!! КАЧАЮТ ПАСОНЫ)!!!! А ВЫ ТАК И НЕ НЕ ПРИЗНАЛИ ^__^

Цитата:

Сообщение от Lemme
Проше, чем аналогичный в JS

нет, так же просто как на js

await sleep(1000)
alert('foo')
await sleep(500)
alert('foo')

Lemme 27.10.2016 12:47

Цитата:

ТЫ НЕ ПОНЯЛ ШТОЛЕ??) ОН СДЕЛАЛ УТВЕРЖДЕНИЕ КОТОРОЕ НИ ЧЕМ НЕ ПОДКРЕПИЛ
Да в этом и смысла нет, ибо очевидно, что первое, где спотыкается новичек - вернуть результат из асинхронного вызова. У меня было именно так, да и у большинства, кто до этого не слышал об асинхронности.

Цитата:

Ну я думаю вы поняли О КОМ речь
Можешь собой гордиться, ты в этом плане (наверное) уникален. Все сразу понимают - кто ты, с первого же поста. :yes:

Оффтопа 2 страницы, иди лучше ММОРПГ пиши :D

MegaScript 27.10.2016 18:38

Цитата:

Сообщение от Lemme
иди лучше ММОРПГ пиши

черт..... и ведь правда, больше болтавни чем дела(


все, всем пока, не баньте MegaScript, так язык назову offeescript с поддержкой es6

Safort 27.10.2016 23:59

И на этой прекрасной ноте мы снова прощается с Максимусом.


Часовой пояс GMT +3, время: 23:02.