Вопрос в этом: Хочу сделать рандомное видео с коуба. В API нет такой функции, и я решил сделать рандомную строку и пытаться выловить настоящий коуб через while. Сам код:
var intID = 0;
while (intID < 1) {
function makeid(length) {
var result = '';
var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
var charactersLength = characters.length;
for ( var i = 0; i < length; i++ ) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
}
var coubID = makeid(4);
var request = new XMLHttpRequest();
var requestURL = 'https://coub.com/api/v2/coubs/' + coubID;
request.open('GET', requestURL, true);
request.send();
if (request.status != 404) {
document.getElementById("add_to_me").innerHTML += '<iframe src="//coub.com/embed/' + coubID + '?muted=false&autostart=false&originalSize=false&startWithHD=false" allowfullscreen frameborder="0" width="480" height="480" allow="autoplay"></iframe>';
intID++;
} else {
intID = 0;
}
}
Но цикл не работает, выходит (index):46 GET
https://coub.com/api/v2/coubs/ymda net::ERR_FAILED
(anonymous) @ (index):46
Как его обработать, чтобы если ID был не правильный, то он попытается ещё раз и так пока не будет найден валидный куб?