0

Youtube API リクエストによる約束

現在discord.jsでdiscordボットを作っていて、音楽機能を作ろうとしています。セットのビデオ URL を指定してテストしたので、この機能が機能することがわかりました。最近、ユーザー入力のサポートを実装しようとしました (たとえば$play vfx artists react、youtube API を使用しましたが、URL を取得しようとするとエラー メッセージが表示されました。

タイトルと URL を取得しようとしたときに API が実際にデータを取得していないため、エラーがプロミスに関連していることはわかっています。私は約束があまり得意ではなく、これまでの私の試みは無駄だったので、どんな助けも大歓迎です.

コード ->

関連する npm モジュール。

const YouTube = require('youtube-node');
var youTube = new YouTube();
youTube.setKey('MyKey');

これはエラーが発生する関数です。以前にプロミスについて聞いたことがありますが、使用するたびに「保留中のプロミス」をログに記録するか、エラーが発生します。

function addVideo(term) {
    youTube.search(term, 1,
        function (error, result) {
            return [result.items[0].snippet.title, result.items[0].id.videoId];
        });
}

次に、この関数をここで呼び出します。

searchResult = addVideo(args.join(' '))
song = {
    title: searchResult[0],
    url: searchResult[1],
};

オンラインでエラーが見つかりましたtitle: searchResult[0]

(node:4) UnhandledPromiseRejectionWarning: TypeError: Cannot read property '1' of undefined

興味のある方は、コードをここで見つけることができます。 私はそれが列車事故の atm であることを知っています。後でエクスポート/インポートを使用してモジュールに変換する予定です。

4

1 に答える 1