6週間非同期?モチベーションはあるけど.
2068 ワード
通知ページを作成しているうちに、欲しい値が一つしかなく、週末中悩んでいました.
まず、すべての発行文章の中で、filterを利用して、私が書いた文章が抽出されましたが、いずれにしても、私が書いた文章の中で申請した人のリストは一つずつです.for of文を使用してオブジェクトを繰り返したが、1人のメンバーのデータしか表示されなかった.申請した人が何人もいたのに...axiosは一人しか吐いていないので、つらいです.
5人分のデータが必要でも、ajaxはまず準備した1人分のデータを表示します.だから初めて私が見たいデータを集中させる過程が必要です.
非同期の問題は通知ページだけでなくajaxを呼び出す異なるプロセスで発生します.
テーブルを読み込む必要がある場合、テーブルに含まれる地図も呼び出しの遅延で空の画面しか見えないか、まだデータが呼び出されていないためクリックしてエラーが発生するなど様々な問題があります.
リンク参照
エラー画面を減らすため、axiosにasync awaitを適用するプロセスが行われています
まず、すべての発行文章の中で、filterを利用して、私が書いた文章が抽出されましたが、いずれにしても、私が書いた文章の中で申請した人のリストは一つずつです.for of文を使用してオブジェクトを繰り返したが、1人のメンバーのデータしか表示されなかった.申請した人が何人もいたのに...axiosは一人しか吐いていないので、つらいです.
useEffect(() => {
let myGames = allGames.filter((e) => e.gameCreator.uid === user.uid)
console.log('내가쓴글', myGames)
for (let item of myGames) {
let gameNo = item.gameNo
baseApi(`/games/${gameNo}/users`, {
headers: {
Authorization: `Bearer ${localStorage.getItem('token')}`,
},
}).then((response) => {
setApplyUsers(response.data.content)
})
}
setApplyUsers(array)
}
}, [allGames])
それは何ですか?5人分のデータが必要でも、ajaxはまず準備した1人分のデータを表示します.だから初めて私が見たいデータを集中させる過程が必要です.
let array = []
for (let item of myGames) {
let gameNo = item.gameNo
baseApi(`/games/${gameNo}/users`, {
headers: {
Authorization: `Bearer ${localStorage.getItem('token')}`,
},
}).then((response) => {
array.push(...response.data.content)
})
}
setApplyUsers(array)
空の配列を作成し、結果値が表示されるたびにデータを配列にプッシュします.次にsetApplyUsersに挿入します.非同期の問題は通知ページだけでなくajaxを呼び出す異なるプロセスで発生します.
テーブルを読み込む必要がある場合、テーブルに含まれる地図も呼び出しの遅延で空の画面しか見えないか、まだデータが呼び出されていないためクリックしてエラーが発生するなど様々な問題があります.
リンク参照
エラー画面を減らすため、axiosにasync awaitを適用するプロセスが行われています
useEffect(()=>
allmygames()
},
[]);
const allmygames = async () => {
await axios
.get("/likedClubs/ids")
.then((res) => setAllGames(res.data));
};
promiseを先に理解しなければならないので、他の講義を探してコードを修正し続けます.Reference
この問題について(6週間非同期?モチベーションはあるけど.), 我々は、より多くの情報をここで見つけました https://velog.io/@storyno7/6주차-비동기-동기는-있는데예テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol