프로그래밍

nodejs 콜백 미쳐버릴것 같다 시발

const http = require('http');
const db = require('mysql');
const template = require('./template.js');
const querystring = require('querystring');
const url = require('url');
const connection = db.createConnection({
 host     : 'localhost',
 user     : '아이디',
 password : '비번',
 database : 'DB명'
});

connection.connect();

const app = http.createServer((req, res) => {
    const _url = req.url;
    const queryData = url.parse(_url, true).query;
    const pathname = url.parse(_url, true).pathname;
    if (queryData.id === undefined) {
    connection.query('SELECT * FROM topic', (error, results) => {
        if (error) {
            throw error;
        }
        const title = 'Board';
     const list = template.list(results);
     const HTML = template.html(title, list);
     res.writeHead(200);
     res.end(HTML);
 });
    } else {
        connection.query(`SELECT * FROM topic`, (error, results) => {
            connection.query(`SELECT * FROM topic WHERE id=${queryData.id}`, (queryDataErr, queryDataresult) => {
                if (error) {
                    throw error;
                }
                 console.log(results);
                 const title = `Board - ${results.title}`;
                 const description = results.description;
                 const HTML = template.html(title, null, description);
                 res.writeHead(200);
                 res.end(HTML);            
            })
        });
    }
});

app.listen(3000);

 

시팔 진짜 간단한 게시판 하나 짜는데도 콜백 존나 많네 

가독성도 짜증나고 윽

Promise쓰면 된다는데 도와주라 ㅠㅠ

13개의 댓글

2019.04.25

Promise 쓰라면 써라 좀 답이있는데 뭐함

0
2019.04.25
@잠적자

어떻게 씀..?

0
2019.04.25

Promise then

async await

0
2019.04.25
@드모사투
0
2019.04.25

const SomfuncPromise =(val) => new Promise((resolve,reject ) => Somefunc(val, (err,data)=>{

if(err) reject(err)

else resolve(data)

})

)

SomeFuncPromise(123).then(data => console.log(data))

0
2019.04.25
@잠적자

와..고맙다..흑흑

nodejs는 다좋은데 콜백이 병신같아

0

mysql 도 체인코드 되는 모듈 있을텐데?

0
2019.04.25

1. promise

2. async /await

아래부턴 비주류 덕후

3. generator function

4. observable

 

비동기를 처리하는 방법들은 위처럼 많으니, 간결한 코드를 써보도록 하자!

0
2019.04.25
@syntaxError

사랑합니다

0
2019.04.26

뭐지는 대충 보이는데 nodejs 어렵네

0
2019.04.26
@세트똥싸개

짜증나는거지 어렵지는 않음.

변수도 const나 let으로 생성하면 되고 돌리기도 쉬움.

0
2019.04.26
@키리모찌

ㅇㅇ

0
2019.05.01

아무렇게나 써도 돌아가지만!

내가 원하는 데로 돌아가지는 않습니다!

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
180563 [모바일] 현시점 아이폰 중고 가성비 뭐가 나음? 4 상한가 0 1 시간 전 61
180562 [프로그래밍] 폰 스크리닝 해 본 사람 있어? 1 무지개빛푸딩 0 2 시간 전 101
180561 [컴퓨터] rx7600 이 가격이면 살 만하죠? 3 죽업 0 2 시간 전 78
180560 [잡담] 사무실에서 사운드바 주워옴 빠빠양 0 3 시간 전 71
180559 [견적] 더는 못 짜겠어요.. 1 아랫마을공돌이 0 3 시간 전 72
180558 [컴퓨터] 컴붕이의 추천에 따라 독거미 키보드 결제함 ㅎㅎ 쿠쿠N취킨 0 4 시간 전 82
180557 [견적] 두제품간의 Cpu, 내장 그래픽 둘중 뭐가 나을까요 1 소산스님 0 8 시간 전 130
180556 [컴퓨터] 573d 149달러 어떰? 3 Kalysaar 0 10 시간 전 118
180555 [견적] R리 cpu 구매 질문있습니다 2 꿀탱 0 11 시간 전 107
180554 [모바일] 삼성닷컴 워치6 잘아는사람? 3 걱정좀그만해 0 11 시간 전 120
180553 [컴퓨터] 스마트모니터는 셋톱박스도 연결 가능한거야? 7 뽀삐뽀삐 0 12 시간 전 111
180552 [모바일] 와이파이6 6e 선택 7 뭐사지 0 12 시간 전 101
180551 [컴퓨터] 이거 메인보드와 메모리 호환성이 엄청 중요하네... 17 부터시작하는이세... 0 13 시간 전 127
180550 [프로그래밍] jsp 트리메뉴 만들고있는데 구상한게가능한지 의견좀물어볼께 11 평택국 0 13 시간 전 64
180549 [견적] 견적 받은거 좀 봐줄랭? 4 아랫마을공돌이 0 14 시간 전 70
180548 [잡담] 허먼밀러 엠바디 에어론 둘다 쓴다이제 8 창원토박이 0 15 시간 전 193
180547 [잡담] 갑자기 개드립 크롬으로 보는데 페이지 엄청 죽는데??? 1 졸려요 0 15 시간 전 89
180546 [컴퓨터] 사무용 컴이 주기적으로 멈췄다가 풀린다. 왜그럴까?? 11 쎾쓰쎾쓰쎾쓰올나잇 0 16 시간 전 93
180545 [컴퓨터] 더블클릭 와버렸다 4 촙촉 0 17 시간 전 118
180544 [컴퓨터] 형님덜 이거 제거 하는거? 2 바퀴 0 18 시간 전 132