check_promo is an ajax function and parameter ‘param’ is from ajax success. How do I want to call that parameter to be processed in the next function?
I tried to display alerts but it did not match the resulting ajax
function result_promo(){
var data = '';
check_promo(function(param){ //output param is 1
data = param;
});
return data ;
}
function submit(){
var check = result_promo();
alert(check); //not showing 1 but null
}
4
Answers
You can use promise to archive this.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
Since
check_promo
is making an AJAX call and the parameter passed to it is a callback, what’s happening is that you’re firing off the AJAX function butresult_promo
returns beforecheck_promo
to complete. Hencedata
isnull
.Instead, you’d be better off calling
check_promo
insubmit
. Theresult_promo
function serves no real purpose here.If your function ‘ check_promo’ is used AJAX call then you need to use Promise or Observable for getting the latest res.
For more information, please follow :
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
https://rxjs-dev.firebaseapp.com/guide/observable