처음에 엠디엔
const promise1 = Promise.resolve(3);
const promise2 = 42;
const promise3 = new Promise((resolve, reject) => {
setTimeout(resolve, 100, 'foo');
});
이것 부분만 보고 어떻게 접근해줘야할지 매우 골머리 썩은듯 싶다. 하지만 내가 문서를 끝까지 유심히 잘 살펴보지않은 참극이었다.. 생각외로 엄청나게 간단한 문제였다. 정말 짧게 풀었다.
Promise.all([promise1, promise2, promise3]).then((values) => {
console.log(values);
});
위 코드가 문제의 아랫부분.. 덕분에 해답의 실마리를 얼떨결에 찾은듯 싶다.
처음으로 코드결과와 정확한 코드를 적어본다.
const readAllUsers = () => {
return Promise.all([
getDataFromFilePromise(user1Path).then(data =>JSON.parse(data)),
getDataFromFilePromise(user2Path).then(data =>JSON.parse(data))
]).then((data) =>{
console.log(data)
return data
});
}
위와같다. 사실 완전 엠디엔에서의 Promise.all을 완전 베끼다 싶이했다.
그리고 이건 기타 다른코드이다. (동기에게 받았다.)
const readAllUsers = () => {
// TODO: Promise.all을 이용해 작성합니다
const a = getDataFromFilePromise(user1Path).then(data => JSON.parse(data)) // then을 통해 비동기처리가 되었음.
// getDataFromFilePromise(user1Path)의 결과값은 promise 객체. 바로 JSON 객체로
const b = getDataFromFilePromise(user2Path).then(data => JSON.parse(data))
return Promise.all([a,b])
}