function ifUrlExist(url, callback) {
let request = new XMLHttpRequest;
request.open('GET', url, true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
request.setRequestHeader('Accept', '*/*');
request.onprogress = function(event) {
let status = event.target.status;
let statusFirstNumber = (status).toString()[0];
switch (statusFirstNumber) {
case '2':
request.abort();
return callback(true);
default:
request.abort();
return callback(false);
};
};
request.send('');
};
function firstFunction() {
ifUrlExist(videolink, function(exists) {
console.log(exists);
if (video && exists) {
self.model.get('item').get('itemimages_detail').urls = self.model.get('item').get('itemimages_detail').urls.concat([{
url: videolink,
altimagetext: "video",
isVideo: true,
upcCode: videoUrl
}]);
}
return exists
})
}
async function secondFunction() {
await firstFunction();
// now wait for firstFunction to finish...
ifUrlExist(threeDegreeUrl, function(exists) {
if (has360_image && exists && self.model.get('item').get('itemimages_detail')) {
self.model.get('item').get('itemimages_detail').urls = self.model.get('item').get('itemimages_detail').urls.concat([{
url: link_360,
altimagetext: "360-degree",
is360degree: true,
upcCode: threeDegreeUrl
}]);
}
self.flag = true
self.model.trigger('change')
return;
})
};
secondFunction()