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 형태로 리턴되어야 합니다.
return을 붙인 것과 안 붙인 것은 어떤 차이가 있을까?
-> to be continue...