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 であることを知っています。後でエクスポート/インポートを使用してモジュールに変換する予定です。