APIから取得したデータを整形して返すコードなのですが、繰り返しが多くて冗長な感じがします。
一度に変数book
の中に必要なデータを入れることはできないでしょうか?
※コード修正しました
js
1 export const fetchBookByIsbn = async isbnInput => { 2 const url = `https://app.rakuten.co.jp/services/api/BooksBook/Search/20170404?applicationId=${rakutenAppId}&isbn=${isbnInput}`; 3 4 const response = await fetch(url); 5 const data = await response.json(); 6 const bookData = data.Items.map(val => val.Item)[0]; 7 const { 8 isbn, 9 title, 10 author, 11 publisherName, 12 largeImageUrl: coverImageUrl, 13 } = bookData; 14 const book = { isbn, title, author, publisherName, coverImageUrl }; 15 return book; 16}; 17
何が「必要なデータ」なのでしょうか。
どういうAPIかにもよりますし、現在の質問内容とコードだけではやりたいことが今一つ見えてきません。(それにこのコードだけではなんでそこでreturnしてるのか分からない)
回答しといてなんですが、
上行で、
largeImageUrl
という変数名で宣言してますが、
下行で、
coverImageUrl
という変数を使っていますが、
どちらが正解でしょうか?
すみません、私が分割代入のことをかん違いしてたので、回答修正しますね。
> 繰り返しが多くて冗長な感じがします。
繰り返し処理があるように見えませんが、どこのことでしょう?
コードの一部だけ切り取ってしまったので分かりにくくなってしまったようです。申し訳ありません。修正済みのものを載せました。
質問の趣旨としては、isbn, title, author, publisherName, largeImageUrl, coverImageUrlなどを二回書かずに済む方法はないか、というものです。
回答4件
あなたの回答
tips
プレビュー