JSFiddle - React, Tailwind, and code Playground

simple recursion

by Trina Lu

JavaScript

var response = 403;

//---correct---//
function check(){
  console.log('in check',response);
	if(response == 403){
  		return refresh(check); //and this
  }else{
  		return 'ok';
  }
}

function refresh(_callback){
	response = 200;
  console.log('in refresh');
  return _callback(); //must return this, or it won't work
}

//---wrong---//
function wrong_check(){
  console.error('in wrong_check',response);
	if(response == 403){
  		wrong_refresh(wrong_check); 
  }else{
  		return 'ok';
  }
}
function wrong_refresh(_callback){
	response = 200;
  console.error('in wrong_refresh');
  _callback(); 
}

console.log(check()); //would return 'ok'
response = 403;
console.log(wrong_check()); //would return 'undefinded'