오늘 나는 다음을 발견했습니다: for async of
5450 단어 loopspromisesapijavascript
Live preview
GitHub의 나머지 API를 사용하는 동안 사용자를 팔로우하면 사용자의 팔로워 가져오기가 반환되지 않으며 별도의 요청을 해야 한다는 것을 알았습니다.
지금까지는 좋았기 때문에 두 번째 요청을 기다린 다음 사용자가 나를 팔로우하는지 여부를 삽입하는 forEach 루프를 추가했습니다.
export const getUserWithFollowingDetails=async(token:string,url:string,username:string)=>{
let followers:any=[]
const users = await getAuthedUserFollowers(token,url)
users.forEach((user)=>{
user.following_me = await getIsUserFollowingMe(token,username,user.login)
}).catch((e)=>{})
followers.push(user)
})
return followers
}
코드는 작동했지만 이상한 결과가 나왔습니다. 코드는 결국 내가 예상한 대로 보였지만 반응이 그것을 알아채고 다시 렌더링하기에는 너무 늦었기 때문에 출력되는 데이터가 내가 찾은 몇 가지 인터넷 검색 후에 콘솔에 기록된 값과 일치하지 않았습니다. for async..는 항목을 반복하는 방법이며 배열 개체에 비동기 작업이 발생하는 동안 대기합니다.
export const getUserWithFollowingDetails=async(token:string,url:string,username:string)=>{
let followers:any=[]
const users = await getAuthedUserFollowers(token,url)
for await (const user of users){
//@ts-ignore
user.following_me = await getIsUserFollowingMe(token,username,user.login)
.catch((e)=>{})
followers.push(user)
}
return followers
}
good explanation
The code i was working on
Live preview
Reference
이 문제에 관하여(오늘 나는 다음을 발견했습니다: for async of), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/tigawanna/today-i-found-out-for-async-of-4abe텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)