본문 바로가기

728x90

Java, JavaScript/Node

(3)
[Node] 비동기 처리 - async/await Promise를 사용하여 콜백 함수의 늪에서는 빠져나올 수 있었지만 Promise도 마찬가지로 reject와 resolve 그리고 .then, .catch들을 사용하면서 눈으로 보기에 코드가 완전히 깔끔하지 않습니다. 이때 async/await를 사용하면 앞에서 나열한 함수들을 사용하지 않고 코드를 깔끔하게 유지할 수 있습니다. 또한 비동기로 진행되는 Promise를 구조적으로 동기로 진행되는 것처럼 해줍니다. 그 이유는 다음과 같습니다. Async functions can contain zero or more await expressions. Await expressions make promise-returning functions behave as though they're synchronous by..
[Node] 비동기 처리 - Promise node.js를 공부하면서 비동기 처리에 대해서 배우게 되었습니다. 비동기 처리란 특정 연산이 끝날 때까지 기다려주지 않고 다음 코드를 먼저 실행하는 것을 말합니다. Promise에는 resolve와 reject 메서드가 존재합니다. resolve는 요청을 수행할 수 있을 때 실행됩니다. 이때 'then'이 존재할 경우 then을 실행합니다. reject는 요청을 수행할 수 없을 때 실행됩니다. 이때 'catch'가 존재할 경우 catch를 실행합니다. 위의 특성 때문에 promise와 같은 비동기 처리를 설명할 때 실행은 바로 하고, 결과는 나중에 받는 것이라고 말하기도 합니다. 이유는 코드를 먼저 실행하고 요청에 따라 then과 catch를 통해 결괏값을 반환받기 때문입니다. 먼저, resolve를 ..
[Node] http 모듈을 사용하여 간단한 API 만들기 express를 공부하기 전에 http 모듈만을 사용하여 간단한 API를 만들어보겠습니다. 우선, 전체적인 코드를 구조를 살펴보고 GET, POST, PUT, DELETE는 따로 알아보겠습니다. 다음은 전체적인 코드입니다. (🧨 코드가 길어 주석 부분은 따로 나누어서 설명하겠습니다) const http = require('http'); const foods = {} let index = 0; http.createServer(async (req, res) => { try { console.log(req.method, req.url); // 여기서 부터 GET, POST, PUT, DELETE 추가 } catch (e) { console.error(e); res.writeHead(500); res.end(e..

728x90