method가 순서대로 실행되기 위한 방법
1. 콜백(callback)
function a(callback) {
console.log('A')
callback()
}
function b() {
console.log('B')
}
a(function(){
b()
})
2. 프로미스(promise)
function a(){
return new Promise(function (resolve){
setTimeout(function (){
console.log('A')
resolve('Hello')
}, 1000)
})
}
function b(){
console.log('B')
}
async function test(){
const res = await a()
console.log('res:', res)
b()
}
test()
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Promise
Promise - JavaScript | MDN
Promise 객체는 비동기 작업이 맞이할 미래의 완료 또는 실패와 그 결과 값을 나타냅니다.
developer.mozilla.org
then
function a(){
return new Promise((resolve) => {
setTimeout(() => {
console.log('A')
resolve()
}, 1000)
})
}
function test() {
a().then(() => {
console.log('B')
})
}
test()
catch
finally
function a(number) {
return new Promise((resolve, reject) => {
if(number > 4) {
reject()
return
}
setTimeout(() => {
console.log('A')
resolve()
}, 1000)
})
}
function test() {
a(5)
.then(() => {
console.log('Resolve')
})
.catch(() => {
console.log('Reject')
})
.finally(() => {
console.log('Done')
})
}
test()
'JAVASCRIPT' 카테고리의 다른 글
| [JAVASCRIPT] 정규식 (0) | 2023.01.25 |
|---|---|
| [JAVASCRIPT] JSON, Local Storage, axios (0) | 2023.01.25 |
| [JAVASCRIPT] 구조 분해 할당, 전개 연산자, 불변성, 얕은 복사 깊은 복사 (0) | 2023.01.25 |
| [JAVASCRIPT] JAVASCRIPT 데이터 객체와 함수 (0) | 2023.01.25 |
| [JAVASCRIPT] JAVASCRIPT 생성자, this, 클래스, 상속 (0) | 2023.01.22 |