await/async 使わない例
import * as cookie from "cookie"
export async function getServerSideProps(context) {
let headers_cookie = context.req.headers.cookie;
if (headers_cookie === undefined) {
headers_cookie = "";
}
const parsedCookies = cookie.parse(headers_cookie);
let url = "http://localhost:3001/api/v1/auth/sessions";
await fetch(url, {
headers: {
"access-token": parsedCookies._access_token,
client: parsedCookies._client,
uid: parsedCookies._uid
}
})
.then(response => {
return response.json();
})
.then(data => {
console.log("Data: " + JSON.stringify(data));
})
.catch(error => {
console.log("失敗しました");
});
return { props: { name: "omusubi" } };
}
await/async 使う例
import * as cookie from "cookie"
export async function getServerSideProps(context) {
let headers_cookie = context.req.headers.cookie;
if (headers_cookie === undefined) {
headers_cookie = "";
}
const parsedCookies = cookie.parse(headers_cookie);
let url = "http://localhost:3001/api/v1/auth/sessions";
const response = await fetch(url, {headers: {
"access-token": parsedCookies._access_token,
client: parsedCookies._client,
uid: parsedCookies._uid
}
})
const data = await response.json();
if(data.status === 500) {
return {
redirect: {
destination: "/signin",
permanent: false,
},
}
}
return { props: { name: "omusubi" } };
}
参考記事
fetch呼び出しでasync/awaitを使わないパターン、使うパターン – 2021年9月21日
https://qiita.com/jun1s/items/d0a234700a14bf910065
Promiseの使い方、それに代わるasync/awaitの使い方 – 2020年3月12日
https://qiita.com/suin/items/97041d3e0691c12f4974#async%E3%81%A8await—%E9%9D%9E%E5%90%8C%E6%9C%9F%E5%87%A6%E7%90%86%E3%82%92%E5%90%8C%E6%9C%9F%E5%87%A6%E7%90%86%E3%81%A3%E3%81%BD%E3%81%8F%E6%9B%B8%E3%81%8F
ブラウザで非同期処理を同期的に処理する fetch(Promise) + async/await – 2017年11月26日
https://qiita.com/msquare33/items/a8b51d6f4d6be770e7d6
JavaScriptのFetch API について – 2021年2月26日
https://qiita.com/sotasato/items/31be24d6776f3232c0c0
JavaScriptのFetch API について – 2021年02月26日
https://qiita.com/sotasato/items/31be24d6776f3232c0c0
【JavaScript】初めて学ぶ!fetch()メソッドと非同期通信 – 2021.2.2
https://breezegroup.co.jp/202004/javascript-fetch
fetchメソッドの基本的な使い方【クエリパラメータとリクエストボディの使い分け】 – 2020.12.14
https://zenn.dev/syu/articles/946a2b5fdf292e


コメント