node.js(노드)
-
[node.js] 동기와 비동기(2) Callback과 async의Waterfallnode.js(노드) 2020. 8. 10. 16:53
지난 글에는 동기와 비동기의 차이에 대해 알아보았다. 이번 글에는 지난 글의 마지막의 문제인 연속된 함수에서 동기 처리하는 방법에 대해 알아보려고 한다. 1. callback 처리 callback글에서 callback이 어떤 순서대로 작동하는지 알아봤다면 이번에는 실제로 어떻게 활용되는지 알아보자. *화살표 함수를 실제로도 많이 사용하니 화살표 함수에 대해 간단하게 알면 좋다. 지난 글의 마지막부분을 callback으로 해결해보자. var result = false; var playA = function() { setTimeout(function () { result=true; },1000); } var playB = function () { if(result){ console.log("성공"); } e..
-
[node.js] 동기와 비동기 (1) 기본 이해node.js(노드) 2020. 8. 7. 17:45
프로그램 언어들이 보통은 비동기 언어, 동기 언어라고 하지는 않지만 내가 느꼈던 대부분의 언어들은 동기 처리가 디폴트 값이고 비동기는 따로 선언해야 했었다. 그러나 자바스크립트는 비동기가 디폴트고 동기를 할 경우 다른 방식을 이용해야 한다. 일단 node js는 비동기 IO를 지원하며 Single-Thread 기반으로 동작한다. 우선 코드로 보자 var A = function (){ console.log("A"); } var B = function (){ console.log("B"); } var C = function (){ console.log("C"); } var st1 = setTimeout(function (){ console.log("st1"); },100 ); var st2 = setTime..
-
[node.js] 콜백(callback)함수(2)node.js(노드) 2020. 8. 1. 02:05
이제 콜백 함수의 심화과정이다. 해당 콜백은 실제 현업에서 나온 코드를 바탕으로 작성하겠다. var sum = function(v1, callback,v2){ console.log("callback 실행 전"); callback(3) console.log("callback 실행 후"); } var f1 = function () { console.log("f1 실행"); } var f2 = function () { console.log("f2 실행"); } console.log("sum 함수 실행 전"); sum(f1(),(r1)=>{console.log("sum 함수 실행 후");console.log(r1)},f2()); 자 이제 문제다 저기 콘솔 로그는 어떤 순서대로 실행될까? 이 순서를 정확하게 맞춘..
-
[node.js] 콜백(callback)함수(1)node.js(노드) 2020. 7. 31. 23:57
처음 callback함수를 공부하지도 않고 접했을 때는 이게 뭔 기능인지 이해할 수 없었다. C, 자바만 해오던 나에게 변수 안에 함수를 넣는다는 개념은 존재하지 않았으니... 기존에 개발하던 사람의 코드를 볼 때 나는 callback이라는 기능이 라이브러리처럼 기능인줄 알았으나 자바스크립트의 기초를 활용한 기술?이라고 표현하는 게 옳다고 생각한다. 일단 위에 적은데로 자바스크립트에서 가장 놀랐던 점은 함수를 변수처럼 넣을 수 있다는 것이다. 예를 들면 function call() { console.log("call 함수 실행"); } var v1 = call; var v2 = v1; call(); v1(); v2(); var라는 변수에 함수를 넣고 해당 선언한 거를 실행시키면 함수가 실행된다. 이게 자..