

코드를 모름 ▸ 구글링 함 ▸ 설명글에 써있는 개발단어들을 모름 ▸ 단어 구글링 ▸ 찾은 설명글의 개발단어를 모름 ▸ 구글링 ▸ ...무한굴레
이 지긋지긋한 루트가 질려서 기본적인 거는 머릿속에 넣기 위해 정리하는 글... : (
(이제 좀 외워...)
function multiply(a, b) { // a, b = 매개변수
return a * b;
}
multiply(10, 20); // 10, 20 = 인자,
동기 - 한 작업이 실행되는 동안 다른 작업은 멈춘 상태를 유지하고 자신의 차례를 기다리는 것
ex)
console.log("qwrty1");
console.log("qwerty2");
console.log("qwerty3");
result)
qwerty1
qwerty2
qwerty3
----------------
ex2)
function qwert1(print){
print();
qwrty1(()=> console.log('hello');
// hello
비동기 - 응답에 관계없이 바로 다음 동작이 실행되는 방식
· 비동기 시 생각해야 할 점.
요청을 만드는 사람. 요청을 받는 사람
== 요청 시, 성공/실패 할 때를 염두해 두어야 함.
ex)
function qwerty2(print, timeout){
setTimeOut(pringt, timeoud);
}
qwerty2(()=>console.log'ㄱㄴㄷㄹㅁㅂㅅ',2000);
//2초후 불러와짐.

다른 함수가 실행을 끝낸 뒤 callback(실행)되는 함수
ex)
// 실행이 없다.(요청받는 유저가 없다.)
function print(callback) {
callback();
}
print();
================
ex1)
// 실행이 없다.(요청받는 유저가 있다.)
function print(callback, user) {
callback();
}
print(user);
ex2)
function print(callback) {
callback();
}
pringt(()=>조건문); // <- 이런식으로도 콜백함수 사용가능!
내가 만든 콜백함수..?(근데 콜백함수인지도 잘 모르겠네...ㅜㅜㅜ)
function PaintTodo2(listitem) {
const li = document.createElement('li');
li.id = listitem.id;
li.text = listitem.text;
let span = document.createElement('span');
const Xbtn = document.createElement('button');
const Mbtn = document.createElement('button');
let Input = document.createElement('input');
Xbtn.addEventListener('click', DeleteTodo);
span.innerText = li.text;
Xbtn.innerText = '삭제';
Mbtn.innerText = '수정';
console.log(Input.value);
Mbtn.addEventListener('click', (event) => modify(event));
li.append(span, Xbtn, Mbtn, Input);
Input.classList.add(LOGIFORM_HIDDEN);
TodoList2.append(li);
const modify = (event, listitem) => {
if (Input.value == '') {
console.log('qwerty1');
Input.value = span.innerText;
span.classList.add(LOGIFORM_HIDDEN);
Input.classList.remove(LOGIFORM_HIDDEN);
} else {
console.log('qwertytyuasdzfasdf');
span.classList.remove(LOGIFORM_HIDDEN);
Input.classList.add(LOGIFORM_HIDDEN);
SavedTodos1();
span.innerText = Input.value;
}
};
}

작업의 중간상태를 확인할 수 있음.
- promise에서 신경써야 할 것
- state(상태) : 실패했는지, 끝났는지, 무거운지
- producing : 원하는 기능을 제공해주는 사람.
consumer : 기능을 쓰는 사람.
위에서 언급했듯 성공/실패를 염두해 두어야 함!!)
기본 코드
const promise(이름) = new Promise((resolve, reject) => {
ex) 에시 기능
setTimeout(() => {
resolve('1234');
reject(new Error('5678'));
}, 2000);
});
promise(이름)
.then((value) => {
기능
ex)console.log(value);
}) // 잘 실행됐을 때
.catch((error) => {
기능
console.log(error);
}) // 오류 났을 때
.finally(() => {
기능
console.log('finally');
}); // 상관없이 마지막에 나옴
promise도 콜백지옥에 빠질 수 있음. 조금 더 편하게 사용할 수 있음
// 1. promise로 작업했을 때
function getBanana() {
return delay(3000).then(() => 'good');
}
// 2, async로 작업했을 때
async function getBanana() {
await delay(3000); //3초 간 기다려줘
return 'gooood'; // 그리고 이제 보여줘
}
참고