でも彼のテストが失敗しているので、私は、このAPIを使用することをお勧めしません。あなたが直面している問題は、データを持たない数字がコールバックを返さない場合でも、エラーを処理できない(何もスローしないため)ということです。これは私がそのAPIから取得することができる最高です:
'use strict';
const tmdb = require('tmdbv3').init('8b39b6f141f42e463b507151122d0971');
function randomMovie(callback) {
const r = Math.floor(Math.random() * 1000);
tmdb.movie.info(r, (err, res) => {
const x = res.title
callback(x);
})
};
function tryTenTimes() {
let firstTitle;
for (let i = 0; i < 10; i++) {
randomMovie(title => {
if (!firstTitle) {
firstTitle = title;
console.log(firstTitle);
}
});
}
}
tryTenTimes();
それは10が尋ねると、最初の有効なものを取るん醜い回避策は、です。
編集:私は、whileループとのいずれかを実行するように頼まれたが、これは私はあなたが応答ヘッダを検査し、私はあなたがしている賭けステータスコードを見ればそれに
'use strict';
const tmdb = require('tmdbv3').init('8b39b6f141f42e463b507151122d0971');
function randomMovie(callback) {
const r = Math.floor(Math.random() * 1000);
tmdb.movie.info(r, (err, res) => {
const x = res.title
callback(x);
})
};
function tryWhileTimes() {
let firstTitle;
while (!firstTitle) {
return new Promise((resolve, reject) => {
randomMovie(title => {
if (!firstTitle) {
firstTitle = title;
console.log(firstTitle);
resolve();
}
});
});
}
}
tryWhileTimes()
このコードは同じことをしています!このタスクを実行できる優れたAPIがありますか?私は検索し、これが唯一のものだと思われます! – cockoh10uv
固定電話番号を使わずに、ちょうどタイトルを取得したときに停止することをお勧めします また、中止するmax_attemptフラグを持っています – Shivam
私はこの中でどのようにループを行うことができますか教えてください場合? @ Shivam – cockoh10uv