목록웹 개발 (224)
dukDukz
콜백지옥을 해결하기 위해 Promise가 나왔지만 이것도 가독성이 떨어져서 async라는것을 만들었다 1. return값이 Promise객체로 온다. {state : ? result : ?} return 안에 있는 값들은 Promise 객체 안에 있는 result 값 안에 들어간다. async function 자동차(name){ return Promise.resolve(name); //result로 값이 가고 //return Promise.reject(name); // error로 값이 간다. } 자동차('아반떼').then(result=>{ console.log("result = ",result); }).catch((error)=>{ console.log("error = ",error); }).fina..
try catch 문 = 예외처리문 let a = 'hello'; try { if(a != undefined) throw a; console.log(a,"world"); } catch (error) { console.log(error); } try{ a != undefined 이면, try구문을 종료하고 값을 가지고 catch문으로 가라 else ( a == undefined )이면 콘솔로그 출력 } catch{ 에러값 출력 } // 결과값은 true function f(){ try { console.log(0); throw 'error'; //throw를 만나면 catch문으로 이동함 } catch (error) { console.log(1); return true; // 맨 마지막에 나옴 } fina..
Promise 객체 더보기 resolve : 성공 reject : 실패 [결과값이 Object 임 - new 때문에] const pr = new Promise((resolve, reject)=>{ code block setTimeout(()=>{ resolve('성공'); // value },3000); }); 콜백함수 실행 전 { state : pending (대기상태) result : undefined } 콜백함수 실행 후 완료 되었을 때 { state : fulfiled (이행완료) result : " 성공! " //특정 값 } 콜백함수 오류 { state : rejected (거부) result : " 실패 " } 성공했을 때 실패했을 때 코드를 따로따로 넣어줄 수 있다 Promise chaini..
1. 동기 / 비동기 동기 요청받은 순서대로 하나씩 처리함 비동기 요청을 여러개 받고 빨리 처리할 수 있는대로 처리해줌 -> 요청이 완료 됐을때 callback 함수가 실행이 되어서 요청을 처리하는 형식 예시) 더보기 console.log('start 1'); setTimeout(()=>{ console.log('start 2'); },3000); console.log('start 3'); 결과 : start 1 start 3 (3초후) start 2 2. 콜백함수 function go(){ console.log('go go'); } const 아반떼 = (callback) =>{ setTimeout(()=>{ console.log('아반떼 go'); callback(); },3000); } const ..
참고할 블로그 더보기 medium.com/@bluesh55/javascript-prototype-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-f8e67c286b67 www.zerocho.com/category/JavaScript/post/573c2acf91575c17008ad2fc medium.com/@bluesh55/javascript-prototype-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-f8e67c286b67 [Javascript ] 프로토타입 이해하기 자바스크립트는 프로토타입 기반 언어라고 불립니다. 자바스크립트 개발을 하면 빠질 수 없는 것이 프로토타입인데요. 프로토타입이 거의 자바스크립트 그 자체이기때문에 이해하는 것이 어렵 medium.com..
server3.js const express = require('express'); const app = express(); const main = require('./route/index'); //route폴더에 있는 index파일을 가져오자 const board = require('./route/board'); const nunjucks = require('nunjucks'); const bodyParser = require('body-parser'); app.set('view engine','html'); nunjucks.configure('views',{ express:app, }) //이 구문의 위치가 항상 중요함 app.use - 이 부분이 제일 위에 올라와있어야함 //얘가 최상단에 있어야 p..
기본 틀 server.js const express = require('express'); const app = express(); const main = require('./route/index'); //route폴더에 있는 index파일을 가져오자 const board = require('./route/board') app.use('/',main); // 모든 url일때 main의 안에 있는게(index.js) 실행 되도록 한다. app.use('/board',board); app.listen(4000,()=>{ console.log('open server 4000'); }); index.js const express = require('express'); const router = express.R..
app.get('/list', (req, res) => { // order by desc 내림차순 connection.query("SELECT idx, subject, board_name, content, date_format(today,'%Y-%m-%d') as today, hit FROM board order by idx desc", (error, results) => { if (error) { console.log(error); } else { let total_record = results.length; results.forEach(ele=>{ console.log(ele); ele.number = total_record; total_record--; }); res.render('list.html..