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

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

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

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

YouTube API

YouTube APIはYouTubeのビデオコンテンツと機能性をウェブサイト、アプリケーション、デバイスに統合することを可能にします。

JavaScript

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

API

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

Q&A

解決済

2回答

752閲覧

javascript 関数の外で戻り値の値を使いたい youtube apiを使っています。

kumin_43

総合スコア10

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

YouTube API

YouTube APIはYouTubeのビデオコンテンツと機能性をウェブサイト、アプリケーション、デバイスに統合することを可能にします。

JavaScript

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

API

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

0グッド

0クリップ

投稿2019/09/01 03:36

前提・実現したいこと

javascript 関数の外で値を使いたい

ここに質問の内容を詳しく書いてください。
youtube api を使っています。

data_array の値を

データベースに格納したいのですが、関数の外で検索結果の値を使う方法がわかりません。

初歩的な質問ですが、わかる方いたら教えていただきたいです。

該当のソースコード

javascript

1var Youtube = require('youtube-node'); 2var youtube = new Youtube(); 3 4// APIアクセスキーを入力 5youtube.setKey(''); 6 7var keyword = "hoge"; 8var limit = 10; 9 10var searchResult = youtube.search(keyword, limit, function(error, result) { 11 if (error) console.log(error); 12 var items = result["items"]; 13 var data_array = []; 14 for(var i in items){ 15 var it = items[i]; 16 var video_id = it["id"]["videoId"]; 17 data_array.push(video_id); 18 } 19 return data_array; 20}); 21

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答2

0

javascript

1(async function () { 2 var searchResult = await new Promise(function (resolve) { 3 youtube.search(keyword, limit, function (error, result) { 4 resolve(data_array); 5 }); 6 }); 7 console.log(searchResult); 8})();

投稿2019/09/01 06:24

querykuma

総合スコア777

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

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

kumin_43

2019/09/22 09:50

ご回答いただきありがとうございます。返答が遅れてしまい申し訳ありませんでした。 searchResultを他のページにexportするにはどのように書いたらよいでしょうか? また、同じような質問になりますが ↓の関数の外に出したい時には、どういった書き方になりますか?? (async function () { 省略 })();
guest

0

ベストアンサー

コールバック関数内から「データベースに格納」の処理をする関数を呼び出せばよいと思います。
変数keywordと同じ場所で変数data_arrayを用意し、そこに格納するようにすればとりあえず他の関数からも参照できると思います。

投稿2019/09/01 03:41

kei344

総合スコア69407

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

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

kumin_43

2019/09/01 04:27

ご回答ありがとうございます。 >コールバック関数内から「データベースに格納」の処理をする関数を呼び出せばよい 関数を呼び出す というのは、具体的にはどういうことでしょうか?
kei344

2019/09/01 06:00

> 具体的 function db_sample( data ) { // 「データベースに格納」の処理 } db_sample( data_sample ); こういう事が聞きたいと推測しました。「呼び出し」より「実行」っと書いたほうがわかりやすかったでしょうか。
kumin_43

2019/09/01 07:40

実装できました。 丁寧にありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問