Skip to content

Instantly share code, notes, and snippets.

@courtneyphillips
Created March 15, 2016 17:15
Show Gist options
  • Save courtneyphillips/ab38629fb1935f9eef62 to your computer and use it in GitHub Desktop.
Save courtneyphillips/ab38629fb1935f9eef62 to your computer and use it in GitHub Desktop.
Async API Calls in Node Modules
// Because the ajax request is asynchronous, cannot assign data from api response to a variable in the success
// callback and return it, because the return statement will execute before the success function is completed.
// Instead, logic must happen inside of the success callback function.
// This can either mean using jQuery to directly display the response:
exports.getHumidity = function(city) {
$.get(url).then(function(response) {
$('.showWeather').text("The humidity in " + city + " is " + response.main.humidity + "%");
}).fail(function(error) {
$('.showWeather').text(error.message);
});
};
// Or it can be done by passing in display functions as arguments:
exports.displaySuccess = function(apiData) {
console.log("Yay! Call succeeded. ", apiData);
}
exports.displayError = function(err) {
console.log("Noooo! Failure!!!" , err.message);
}
exports.getHumidity = function(city) {
$.get(url).then(function(response) {
exports.displaySuccess(response);
}).fail(function(error) {
exports.displayError(error);
});
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment