$q.all - successfully resolving some HTTP requests while encountering errors on others

I encountered a coding scenario like this

angular.forEach(config.tvshows.shows, function(show) {
      promises.push($http.get('http://epguides.frecar.no/show/' + show.replace(/\s|\./g, '') + '/next/'));
  });

  return $q.all(promises).then(function(response) {
        for (var i = 0; i < response.length; i++) {
           service.shows.push(response[i]);
        }
  });
};

In this setup, I am collating a list of http requests called 'promises'. While most requests are successful, some may fail. It is crucial not to remove the failing request as it might succeed later.

Nevertheless, when a response fails, none of the responses are being stored in 'service.shows'. Is there a way to manage a 404 error or any other error response generated by an http request so that the code can proceed smoothly with the functioning requests?

Answer №1

To handle failed HTTP requests individually, you can implement a custom handler as shown below:

angular.forEach(config.tvshows.shows, function(show) {
      promises.push($http.get('http://epg\./g, ') + '/next/').catch(function() {
    // define your action for failed request here
}));

  });

This approach allows you to provide a specific response when a request fails, ensuring that the $q.all chain continues without interruption. If the request is successful, the server's response will be returned as expected.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Replace all occurrences of a specific string throughout a extensive document in Node.js

I'm facing a challenge with handling large files in memory. I need to go through each line, replace any double quotes found, and update the file itself. Currently, I am reading the file line by line, storing it in an array, and then overwriting the sa ...

Issue with proper functioning of JQueryUI Datepicker directive arises when an element is deleted using Angular's List.Splice()

Encountering an issue with the JQueryUI Datepicker after removing an element using Angular's list.splice($index,1) within an ng-repeat statement. Upon removal (using the del($index) function below), the calendar starts selecting dates for the next in ...

Utilizing Bootstrap Datepicker, combining Javascript and Laravel query to navigate to a specified URL

In my application, there are 3 interconnected tables: Events, Spots, and Bookings. Each Event can have multiple Spots, and each Spot can have multiple Bookings. My goal is to display the list of bookings for a specific spot using a Bootstrap calendar picke ...

The property fails to reflect changes in state

I am currently developing an application that requires fetching data asynchronously and preserving the state in the parent component while also passing the data reference to children components. I encountered an issue where the props do not update when the ...

What is the best way to arrange the keys within a nested object in JavaScript?

Question: { "foo": "bar", "bar": "baz", "baz" : { "nestedKey": "foo" } } In order to sign this request using the Hmac512 algorithm, I must first stringify the object. I am concerned that if the key order is not preserved, the generated signature on the ...

Issue with Ionic displaying data from AngularJS $http.get request

Having just started learning AngularJS, I have followed tutorials on YouTube and read the documentation, but I am struggling to display data from an API using the $http.get() request. Here is my JavaScript and HTML code: var exampleApp= angular.modul ...

What sets apart ".. let i = index" from "..let i as index"?

Having recently delved into the world of Angular, I've been scouring YouTube for tutorials. While watching, I noticed some developers using ""let item of items; let i as index"" while others used ""let item of items; let i = index" ...

Execute a JavaScript function when an element loaded via Ajax in a Spring MVC framework triggers the onChange event

I currently have a dropdown list with two values and I am looking to enable or disable four components based on the user's selection. If the user picks the first value, the components should be enabled, otherwise they should be disabled. On the main ...

Explore the hidden route of the input components

HTML: <div id="quiz"> <div id="question"> <p id="quiz-txt">What is your favorite color?</p> <ul id="quiz-opt"> <div id="ans"> <input type="checkbox" id="Red" value="Red" class="options"> ...

Issue Arising During File Transfer in Nativescript

I am currently attempting to upload an image that I captured with Nativescript to a server using a web API that I created in C# (ASP.NET). The API works perfectly fine when tested on Postman, but I encounter an error "Error During Upload" while trying to u ...

Store the output of JavaScript in a PHP variable

My objective is to convert any image to base 64 and then store the converted string in a PHP variable before inserting it into my database. JavaScript Code: function uploadFile() { if (this.files && this.files[0]) { var FR= new FileReader ...

Encountering an error in AngularJS: Issue with require(...) function, along with a runtime error in Node

I have been working on a code similar to the one available here However, when I try to run node web.js, I encounter a TypeError: require(...) is not a function What could be causing this error? Where might the issue lie? Below is my current web.js set ...

Can someone explain how to iterate through an array to find a specific value using CoffeeScript?

Having trouble extracting the full_name value from an array using CoffeeScript. Despite extensive research on Stack Overflow and CoffeeScript's docs, I haven't been able to solve it. Here is my current code. Can someone help me identify what&apos ...

Stop the closure of confirmation box by disabling the space key

I've been working on a website that features a table for users to interact with. Within one column of the table, there are input boxes where users can write notes. Below each input box, there is a save button to store the entered notes in a database. ...

When trying to access the key value of a dynamically generated object, it returns as undefined

I am facing a challenge with my student object structure... { Freshmen: [{id: 3}, {id: 5}], Sophomores: [{id: 2}, {id: 6}], Juniors: [{id: 1}, {id: 8}], Seniors: [{id: 9}, {id: 4}, {id: 7}] } My goal is to retrieve full student objects from the d ...

Deleting a DOM element within an element that has been created by an external script

On a webpage, I have third-party ad content that is generated by an external script. This content has a delay in loading. My goal is to eliminate a line break from the ad content, but this can only be done once the external script finishes loading and all ...

Learn the technique of rotating a line around its endpoint using DragControls in three.js

I made a custom modification to DragControls.js so that it only allows movement of the line on the y-axis. Here is the line setup I am using: material = new THREE.LineBasicMaterial( { color: 0xFF0000 } ); geometry.vertices.push(new THREE.Vector3( 0, 0, 0 ...

Removing items from a JavaScript list

I am seeking assistance with an issue I am facing. I have a function that generates a list based on user inputs. For instance, when a user enters apples, the function adds it to a <ul> list. My concern is about deleting specific inputs from the lis ...

CarouFredSel Transition Troubles

I am currently using CarouFredSel to create an image carousel, but I am encountering some issues with the transitions between items. My goal is to incorporate simple HTML elements into the carousel instead of just plain images. However, when I attempt to ...

Guide on passing a variable from AJAX response to a JavaScript function when a user clicks

I need to send the value of a variable as a parameter to a javascript function when clicking on a link. The value is obtained from an AJAX response. However, I am encountering an error in the console stating that 'test' is not defined. var test ...