new Promise

김혁중·2022년 3월 19일
0

JavaScript

목록 보기
19/23

new Promise

  • promise를 만들어서 사용하는 법
  • 보통 함수 안에서 작동하게 끔 사용(재사용 가능)

resolve

function job1() {
  return new Promise(function(resolve, reject){
    setTimeout(() => {
      resolve('resolved ok!')
    }, 500)
  })
}
job1().then(function(data){
  console.log(data)
})

네이스틱 방식

job1().then(function(data){
  console.log(data)
  job2().then(function(data){
    console.log(data)
  })
})

체이닝 방식

job1()
  .then(function(data) {
    console.log(data)
    return job2()
  })
  .then(function(data) {
    console.log(data)
  })

reject

function job1() {
  return new Promise(function(resolve, reject){
    setTimeout(() => {
      reject('fail')
    }, 500)
  })
}

체이닝 방식

function job1() {
  return new Promise(function(resolve, reject){
    setTimeout(() => {
      // resolve('resolved1 ok!')
      reject('fail!!')
    }, 1000)
  })
}

function job2() {
  return new Promise(function(resolve, reject){
    setTimeout(() => {
      resolve('resolved2 ok!')
    }, 500)
  })
}

job1()
  .then(function(data) {
    console.log(data)
    return job2()
  })
  .then(function(data) {
    console.log(data)
  })
  .catch(function(error) {
    console.log(error)
    return Promise.reject()
  })
  • catch, return Promise.reject()
profile
Digital Artist가 되고 싶은 초보 개발자

0개의 댓글