質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

同期

複数のディレクトリに存在するファイルを更新した場合に、すべてのファイルにも更新が行われる事、又は、同じ記憶領域に同時にアクセスして内容の整合性が失われてしまう事をを防ぐ制御などを同期と呼びます。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

6473閲覧

[fetch api]returnをしてもundefinedになる

aiai8976

総合スコア112

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

同期

複数のディレクトリに存在するファイルを更新した場合に、すべてのファイルにも更新が行われる事、又は、同じ記憶領域に同時にアクセスして内容の整合性が失われてしまう事をを防ぐ制御などを同期と呼びます。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2020/06/28 00:29

前提・実現したいこと

fetch apiをつかってjsonデータをとり、jsonパースしたのち配列に入れたいのですが、return前に値が入っているか確認すると入っているのですが、returnを受け取った変数をみてみるとundefinedになっています。
どこが原因でしょうか。

発生している問題・エラーメッセージ

undefined //console.log(data);

該当のソースコード

function getData(){ const id=6; const result=[]; fetch(`http://127.0.0.1:8000/hoge/${encodeURIComponent(id)}`) .then(response => { console.log(response.status); // => 200 return response.json(); }).then(data => { // JSONパースされたオブジェクトが渡される console.log(data.x[10]); result[0]=data.x.split(','); result[1]=data.y.split(','); result[2]=data.z.split(','); console.log(result[0]); //値が入っていることを確認 return result; }); } async function init() { var data=await getData(); console.log(data); //undefinedになる

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

fetch(Promise)を返却してください。

javascript

1function getData(){ 2 /* omitted */ 3 4 return fetch(`http://127.0.0.1:8000/hoge/${encodeURIComponent(id)}`) 5 6 /* omitted */ 7 8}

投稿2020/06/28 00:49

AkitoshiManabe

総合スコア5432

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aiai8976

2020/06/28 00:53

ありがとうございました。 fetchをreturnする必要があったのですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問