Function to add the URL after validation to the image URLs List

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()

Leave a comment

Your email address will not be published. Required fields are marked *