ホームページ >ウェブフロントエンド >jsチュートリアル >私の React の旅: 9 日目
今日学んだこと:
定義: 非同期プログラミングを使用すると、JavaScript は前のタスクの完了を待たずにタスクを実行できます。
使用例: API 呼び出しまたはその他の時間のかかる操作を実行します。
利点: 応答を待っている間に他のタスクを実行できるため、効率が向上します。
約束の状況:
保留中: 初期状態で、結果を待っています。
解決済み: 操作は成功しました。
拒否: 操作は失敗しました。
メソッド:
.then(): Promise が解決されたときに実行されます。
.catch(): Promise が拒否された場合に実行されます。
.finally(): Promise が解決されたか拒否されたかに関係なく実行されます。
約束の例
const fetchData = () => { return new Promise((resolve, reject) => { let success = true; // Simulating success or failure setTimeout(() => { success ? resolve("Data fetched!") : reject("Failed to fetch data."); }, 2000); }); }; fetchData() .then((data) => console.log(data)) // Output: Data fetched! .catch((error) => console.error(error)) .finally(() => console.log("Operation completed."));
非同期/待機の例:
const fetchDataAsync = async () => { try { const data = await fetchData(); // Wait for the promise to resolve console.log(data); // Output: Data fetched! } catch (error) { console.error(error); } finally { console.log("Operation completed."); } }; fetchDataAsync();
5.現実世界の例え:
6.約束.すべて
const promise1 = Promise.resolve("Task 1 completed"); const promise2 = Promise.resolve("Task 2 completed"); Promise.all([promise1, promise2]) .then((results) => console.log(results)) // Output: ["Task 1 completed", "Task 2 completed"] .catch((error) => console.error(error));
const fetchDataFromAPI = async () => { try { const response = await fetch("https://jsonplaceholder.typicode.com/posts"); const data = await response.json(); console.log(data); } catch (error) { console.error("Error fetching data:", error); } }; fetchDataFromAPI();
ハイライト
これまでのところ、素晴らしい旅でした。
火事10日目
以上が私の React の旅: 9 日目の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。