JS 9 개 Promise 면접 문제

5387 단어 JS비동기Promise
1.여러 개.catch

var p = new Promise((resolve, reject) => {
  reject(Error('The Fails!'))
})
p.catch(error => console.log(error.message))
p.catch(error => console.log(error.message))
이상 코드 의 출력 은 무엇 입 니까?정 답 을 선택 하 세 요:
  • []메시지 한 번 인쇄
  • [x]두 번 인쇄 메시지
  • [ ]UnhandledPromiseRejectionWarning
  • []프로그램 종료
  • 해석:
    우 리 는 구조 함수 방법 을 사용 하여 Promise 를 만 들 고 reject 리 셋 을 통 해 즉시 오 류 를 발생 시 킵 니 다.
    그리고.catch 작업 방식 은 DOM 의.addEventListener(event,callback)나 Event Emitter 의.on(event,callback)과 유사 하 며 여러 개의 리 셋 을 추가 할 수 있 습 니 다.모두 같은 매개 변수 로 호출 합 니 다.
    2.여러 개.catch
    
    var p = new Promise((resolve, reject) => {
      return Promise.reject(Error('The Fails!'))
    })
    p.catch(error => console.log(error.message))
    p.catch(error => console.log(error.message))
    이상 코드 의 출력 은 무엇 입 니까?정 답 을 선택 하 세 요:
  • []메시지 한 번 인쇄
  • []두 번 인쇄 메시지
  • [x]UnhandledPromiseRejectionWarning
  • []프로그램 종료
  • 해석:

    Promise 구조 함 수 를 사용 할 때 resolve()나 reject()를 호출 해 야 합 니 다.Promise 구조 함 수 는 반환 값 을 사용 하지 않 기 때문에 Promise.reject()가 만 든 다른 Promise 를 받 지 않 습 니 다.
    Promise.reject()이후.catch 가 없 을 때 답 은 Unhandled Promise Rejection Warning 입 니 다.
    3.링크.then 과.catch
    
    var p = new Promise((resolve, reject) => {
        reject(Error('The Fails!'))
      })
      .catch(error => console.log(error))
      .then(error => console.log(error))
    이상 코드 의 출력 은 무엇 입 니까?정 답 을 선택 하 세 요:
  • [x]인쇄 오류 와 undefined
  • []두 번 인쇄 오류
  • [ ]UnhandledPromiseRejectionWarning
  • [ ]undefined
  • 해석 하 다.

    링크.then 과.catch 를 연결 할 때 일련의 절차 로 보 는 것 이 도움 이 됩 니 다.모든.then 은 이전.then 이 되 돌려 준 값 을 매개 변수 로 받 습 니 다.그러나'step'에 오류 가 발생 하면 후속 적 인'then'steps'는'catch'를 만 날 때 까지 건 너 뜁 니 다.오 류 를 덮어 쓰 려 면 오류 가 아 닌 값 을 되 돌려 주 는 것 이 좋 습 니 다.다음.then 을 통 해 접근 할 수 있 습 니 다.
    알림:console.log()는 항상 undefined 로 돌아 갑 니 다.
    4.링크.catch
    
    var p = new Promise((resolve, reject) => {
        reject(Error('The Fails!'))
      })
      .catch(error => console.log(error.message))
      .catch(error => console.log(error.message))
    이상 코드 의 출력 은 무엇 입 니까?정 답 을 선택 하 세 요:
  • [x]오류 메 시 지 를 인쇄 합 니 다
  • []오류 메시지 두 번 인쇄
  • [ ] UnhandledPromiseRejectionWarning
  • []프로그램 종료
  • 해석 하 다.
    .catch 를 연결 할 때 이전.then 또는'.catch'절차'에서 발생 한 오류 만 처리 합 니 다.이 예 에서 첫 번 째.catch 는 console.log 로 돌아 가 두 개의.catch 다음 에.then()을 추가 해서 만 접근 할 수 있 습 니 다.
    5.여러 개.catch
    
    new Promise((resolve, reject) => {
        resolve('Success!')
      })
      .then(() => {
        throw Error('Oh noes!')
      })
      .catch(error => {
        return "actually, that worked"
      })
      .catch(error => console.log(error.message))
    이상 코드 의 출력 은 무엇 입 니까?정 답 을 선택 하 세 요:
  • []메시지 한 번 인쇄
  • []두 번 인쇄 메시지
  • [ ] UnhandledPromiseRejectionWarning
  • [x]어떤 내용 도 인쇄 하지 않 음
  • 해석 하 다.
    알림:.catch 는 일반적인 값 을 되 돌려 서 오 류 를 무시 하거나 덮어 쓸 수 있 습 니 다.
    이 기술 은 다음.then 에서 이 값 을 받 을 때 만 유효 합 니 다.
    6.then 사이 의 흐름
    
    Promise.resolve('Success!')
      .then(data => {
        return data.toUpperCase()
      })
      .then(data => {
        console.log(data)
      })
    이상 코드 의 출력 은 무엇 입 니까?정 답 을 선택 하 세 요:
  • []인쇄"성공!""SUCCESS!"
  • []인쇄"성공!"
  • [x]인쇄"SUCCESS!"
  • []아무것도 인쇄 하지 않 음
  • 해석 하 다.
    알림:.then 은 순서대로 데 이 터 를 전달 합 니 다.return value 에서 다음.then(value=>/handle value*/).
    다음.then 에 값 을 전달 하기 위해 서 는 return 이 관건 입 니 다.
    7.then 사이 의 흐름
    
    Promise.resolve('Success!')
      .then(data => {
        return data.toUpperCase()
      })
      .then(data => {
        console.log(data)
        return data
      })
      .then(console.log)
    이상 코드 의 출력 은 무엇 입 니까?정 답 을 선택 하 세 요:
  • []인쇄"SUCCESS!"
  • []인쇄"성공!"
  • [x]인쇄"SUCCESS!""SUCCESS!"
  • []아무것도 인쇄 하지 않 음
  • 해석:
    두 개의 console.log 호출 이 호출 됩 니 다.
    8.then 사이 의 흐름
    
    Promise.resolve('Success!')
      .then(data => {
        data.toUpperCase()
      })
      .then(data => {
        console.log(data)
      })
    이상 코드 의 출력 은 무엇 입 니까?정 답 을 선택 하 세 요:
  • []인쇄"SUCCESS!"
  • []인쇄"성공!"
  • []인쇄"SUCCESS!""SUCCESS!"
  • [x]printing undefined
  • 해석:
    알림:.then 데 이 터 를 순서대로 전달 합 니 다.반환 값 에서 다음.then(value=>/handle value*/).
    다음.then 에 값 을 전달 하기 위해 서 는 return 이 관건 입 니 다.
    9.then 과.catch 사이 의 절차
    
    Promise.resolve('Success!')
      .then(() => {
        throw Error('Oh noes!')
      })
      .catch(error => {
        return 'actually, that worked'
      })
      .then(data => {
        throw Error('The fails!')
      })
      .catch(error => console.log(error.message))
    이상 은 JS 9 개 Promise 면접 문제 의 상세 한 내용 입 니 다.JS Promise 면접 문제 에 관 한 자 료 는 다른 관련 글 을 주목 하 세 요!

    좋은 웹페이지 즐겨찾기