1

I have the code:

function images(){
    $.get("page").done(function(data) {
        manipulation to get required data
    });
}

and I have tried to get a variable from inside the get function, using global variables, return values, and functions outside of the function. Does anyone know how I would be able to get a variable from inside the get function and return it as a value if I called images()?

Lugia101101
  • 685
  • 1
  • 7
  • 21

1 Answers1

10

You can't do it since $.get() executes asynchronously. The solution is to use a callback in images to process the value returned by $.get()

function images(callback){
    $.get("page").done(function(data) {
        manipulation to get required data
        var d = ? //manipulated data that was supposed to be returned
        callback(d);
    });
}

then

//calls images
images(function(data){
    //this method will get called when the $.get() is completed, and data will be the value passed to callback(?) in the done function
})

More: read this

Community
  • 1
  • 1
Arun P Johny
  • 384,651
  • 66
  • 527
  • 531