비동기함수-Promise객체 사용
function fetchUserPromise(id){
return new Promise((resolve)=>{
console.log("0.1초가 걸립니다")
setTimeout(()=>{
const user={id:id, name:"User"+id}
resolve(user)}
,100)
})
}
값을 전달받아 실행하는 방법은 2가지가 있다
- then을 쓰는 경우 : 값을 가져 올 때 return을 써야 한다
test('userPromise',()=>{
return asyncfn.fetchUserPromise("2").then(
(user)=>{expect(user).toEqual({id:"2",name:"User2"})}
)}
) - async/await를 쓰는 경우 : 위의 then보다 짧다
test('userPromise async/await',async()=>{
const user=await asyncfn.fetchUserPromise("3");
expect(user).toEqual({id:"3",name:"User3"})
})