create account

node.js의 비동기 처리에 대한 쉬운 자료가 있을까요? by minari

View this thread on: hive.blogpeakd.comecency.com
· @minari ·
$12.18
node.js의 비동기 처리에 대한 쉬운 자료가 있을까요?
이런저런 프로그램을 실습차원에서 짜보고 있는데, 비동기 함수를 사용하는데 어려움이 있네요.

대부분의 함수들이 순차 처리가 아니다보니 툭하면 괄호안에 괄호가 수차례 겹치는 일이 다반사입니다. 

또 성공 또는 실패의 결과에 따라 후속처리를 하다보면 괄호가 나무가지 퍼져 나가듯이 복잡해 지기도 하구요. 

async 프레임웍을 쓰면 된다던가, setTimeout으로 실행시간을 조절하라는 글들이 보이기는 하는데, 비교적 초보자가 공부할만한 한글로 된 자료가 있는지 궁금합니다.

어차피 개인적으로 사용할 프로그램들이라 처리속도가 중요하지는 않은데, python같은 언어처럼 순차적으로 실행되는 방법이 있으면 좋겠네요. ^^

여담이지만 function(){() function(arg, arg, function){...}(arg).then(... 이런식의 문법은 정말 이해도 안가네요.

자바스크립트가 홈페이지에 꽃잎 날리는 용도로만 알았는데 말이죠. ㅎㅎ
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
properties (23)
authorminari
permlinknode-js
categorykr-dev
json_metadata{"tags":["kr-dev"],"app":"steemkr/0.1","format":"markdown"}
created2017-08-22 06:34:06
last_update2017-08-22 06:34:06
depth0
children7
last_payout2017-08-29 06:34:06
cashout_time1969-12-31 23:59:59
total_payout_value9.333 HBD
curator_payout_value2.843 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length479
author_reputation18,256,774,154,134
root_title"node.js의 비동기 처리에 대한 쉬운 자료가 있을까요?"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id12,506,481
net_rshares2,920,374,426,893
author_curate_reward""
vote details (43)
@asbear ·
$0.06
이야기하신 then()은 promise 기반 직렬화 기법인데,  어느정도 써보시면 익숙해 집니다. 이 방법의 장점은 현재 브라우저에서도 사용 가능하다는 것. Q나 Bluebird 라이브러리 사용하시면 더 쉽습니다.

백엔드에서만 구동하실거고, NodeJS 버전 제약 없으신가요? 그러면 NodeJS 7 이상 쓰시면 Javascript ES7의 coroutine을 쓰실수 있습니다. 신세계를 경험하시게 될겁니다. Coroutine이란 async/await 를 사용하는 코딩기법입니다. 아래 글을 한번 보세요. 앞으론 모든 Javascript 코드가 Coroutine기반으로 바뀌게 될겁니다. 아래글 찬찬히 읽어보세욥.

http://proinlab.com/archives/2138

그리고 ES7 코드도 NodeJS의 Babel 라이브러리로 컴파일하면 브라우저에서 구동가능한 자바스크립트 생성이 가능합니다.
👍  
properties (23)
authorasbear
permlinkre-minari-node-js-20170822t070334286z
categorykr-dev
json_metadata{"tags":["kr-dev"],"links":["http://proinlab.com/archives/2138"],"app":"steemit/0.1"}
created2017-08-22 07:03:36
last_update2017-08-22 07:03:36
depth1
children3
last_payout2017-08-29 07:03:36
cashout_time1969-12-31 23:59:59
total_payout_value0.053 HBD
curator_payout_value0.002 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length450
author_reputation76,617,948,082,616
root_title"node.js의 비동기 처리에 대한 쉬운 자료가 있을까요?"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id12,508,170
net_rshares13,771,895,651
author_curate_reward""
vote details (1)
@kdj ·
https://babeljs.io/ 그냥 여기서 코딩하는 것이 편할 것 같습니다... ^^
properties (22)
authorkdj
permlinkre-asbear-re-minari-node-js-20170822t070831468z
categorykr-dev
json_metadata{"tags":["kr-dev"],"links":["https://babeljs.io/"],"app":"steemit/0.1"}
created2017-08-22 07:08:33
last_update2017-08-22 07:08:33
depth2
children1
last_payout2017-08-29 07:08:33
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length50
author_reputation4,188,781,313,300
root_title"node.js의 비동기 처리에 대한 쉬운 자료가 있을까요?"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id12,508,427
net_rshares0
@minari ·
문자열 만들기가 정말 좋군요. 감사합니다.
properties (22)
authorminari
permlinkre-kdj-re-asbear-re-minari-node-js-20170822t084436080z
categorykr-dev
json_metadata{"tags":["kr-dev"],"app":"steemit/0.1"}
created2017-08-22 08:44:36
last_update2017-08-22 08:44:36
depth3
children0
last_payout2017-08-29 08:44:36
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length23
author_reputation18,256,774,154,134
root_title"node.js의 비동기 처리에 대한 쉬운 자료가 있을까요?"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id12,514,855
net_rshares0
@nhj12311 ·
감사합니다~ 잘 보겠습니다.
properties (22)
authornhj12311
permlinkre-asbear-re-minari-node-js-20170822t071218682z
categorykr-dev
json_metadata{"tags":["kr-dev"],"app":"steemit/0.1"}
created2017-08-22 07:12:18
last_update2017-08-22 07:12:18
depth2
children0
last_payout2017-08-29 07:12:18
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length15
author_reputation24,459,544,840,580
root_title"node.js의 비동기 처리에 대한 쉬운 자료가 있을까요?"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id12,508,634
net_rshares0
@clarkgold ·
대세로는 promise 을 써얄거 같지만 async 는 사용하기 편합니다. 순차 실행을 원하시면 async.waterfall 이나 async.series 정도만 보시면 될 거 같네요. ㅎ
properties (22)
authorclarkgold
permlinkre-minari-node-js-20170822t100912771z
categorykr-dev
json_metadata{"tags":["kr-dev"],"app":"steemkr/0.1"}
created2017-08-22 10:09:12
last_update2017-08-22 10:09:12
depth1
children0
last_payout2017-08-29 10:09:12
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length104
author_reputation8,456,825,122,453
root_title"node.js의 비동기 처리에 대한 쉬운 자료가 있을까요?"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id12,519,924
net_rshares0
@kdj ·
이 비디오가 괜찮아 보이네요...
https://www.youtube.com/watch?v=s6SH72uAn3Q
properties (22)
authorkdj
permlinkre-minari-node-js-20170822t070606151z
categorykr-dev
json_metadata{"tags":["kr-dev"],"image":["https://img.youtube.com/vi/s6SH72uAn3Q/0.jpg"],"links":["https://www.youtube.com/watch?v=s6SH72uAn3Q"],"app":"steemit/0.1"}
created2017-08-22 07:06:06
last_update2017-08-22 07:06:06
depth1
children0
last_payout2017-08-29 07:06:06
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length62
author_reputation4,188,781,313,300
root_title"node.js의 비동기 처리에 대한 쉬운 자료가 있을까요?"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id12,508,303
net_rshares0
@minari ·
답변해 주신 분들께 감사드립니다.
제가 node.js를 사용하는 가장 큰 이유는 인터넷 상의 정보 수집에 있습니다. python보다 훨씬 데이터를 긁어오는데 오류 저항력(?)이 쎈 것 같아서 갈아타고 있는데 , 순차적인 개발이 아니게 되니 어느 수준 이상으는 너무 복잡해 지더라구요.  DB에 데이터를 넣을때도 sql문조차 for 문에서 setTimeout돌리는 것 만큼 이상하게 동작하기도 하고.. 여튼 감사합니다.
properties (22)
authorminari
permlinkre-minari-node-js-20170822t084319707z
categorykr-dev
json_metadata{"tags":["kr-dev"],"app":"steemit/0.1"}
created2017-08-22 08:43:21
last_update2017-08-22 08:43:21
depth1
children0
last_payout2017-08-29 08:43:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length233
author_reputation18,256,774,154,134
root_title"node.js의 비동기 처리에 대한 쉬운 자료가 있을까요?"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id12,514,775
net_rshares0