How to $http Synchronous call with AngularJS Code Answer

Hello Developer, Hope you guys are doing great. Today at Tutorial Guruji Official website, we are sharing the answer of How to $http Synchronous call with AngularJS without wasting too much if your time.

The question is published on by Tutorial Guruji team.

Is there any way to make a synchronous call with AngularJS?

The AngularJS documentation is not very explicit or extensive for figuring out some basic stuff.

ON A SERVICE:

myService.getByID = function (id) {
    var retval = null;

    $http({
        url: "/CO/api/products/" + id,
        method: "GET"
    }).success(function (data, status, headers, config) {

        retval = data.Data;

    });

    return retval;
}

Answer

Not currently. If you look at the source code (from this point in time Oct 2012), you’ll see that the call to XHR open is actually hard-coded to be asynchronous (the third parameter is true):

 xhr.open(method, url, true);

You’d need to write your own service that did synchronous calls. Generally that’s not something you’ll usually want to do because of the nature of JavaScript execution you’ll end up blocking everything else.

… but.. if blocking everything else is actually desired, maybe you should look into promises and the $q service. It allows you to wait until a set of asynchronous actions are done, and then execute something once they’re all complete. I don’t know what your use case is, but that might be worth a look.

Outside of that, if you’re going to roll your own, more information about how to make synchronous and asynchronous ajax calls can be found here.

I hope that is helpful.

We are here to answer your question about How to $http Synchronous call with AngularJS - If you find the proper solution, please don't forgot to share this with your team members.

Related Posts

Tutorial Guruji