Promise와 return - 2

gwanghyunjeon·2022년 5월 30일
0

Test Non-Pass

const readAllUsersChaining = () => {
  getDataFromFilePromise(user1Path).then((promise1) => {
    getDataFromFilePromise(user2Path).then((promise2) => {
      return `[${promise1}, ${promise2}]`
    }).then(data => JSON.parse(data))
  })
}

Test Pass

const readAllUsersChaining = () => {
  return getDataFromFilePromise(user1Path).then((promise1) => {
    return getDataFromFilePromise(user2Path).then((promise2) => {
      return `[${promise1}, ${promise2}]`
    }).then(data => JSON.parse(data))
  })
}

Non-pass는 내가 작성하고 통과가 안 된 코드.
Pass는 정상 작동하는 페어의 코드.

readAllusersChainig 함수가 실행됨에 따라 내부 함수들이 콜백 관계로 실행될 것이라 생각했다.
하지만, return을 붙여주어야 pass 할 수 있었다.

현재 내 생각으로는 동작은 다르지 않을 것 같은데... 어떤 차이가 있었던 걸까?

에러 메시지는 다음과 같았다.

체이닝의 결과가 Promise 형태로 리턴되어야 합니다.

  • getDataFromFilePromise 함수는 다른 js파일에서 이미 프로미스 함수로 선언되어있다.

return을 붙인 것과 안 붙인 것은 어떤 차이가 있을까?
-> to be continue...


profile
발자취를 기록해봅시다

0개의 댓글