I call a function which registers a registrationId is issued using chrome.gcm. Everything is fine but because the callback takes time, my code does not work without a console.log or alert. Any tips how I can make it wait?
 var registrationId = ""
function register() {
  var senderId = 'MY_SENDER_ID';
  chrome.gcm.register([senderId], registerCallback);
}
function registerCallback(regId) {
  registrationId = regId;
  if (chrome.runtime.lastError) {
    return false;
  }
  chrome.storage.local.set({registered: true});
 }
$(function(){
  $("#register-form").submit(function(e) {
    //Disable from further calls
    $('#submit').disabled = true;
    register()
    var name = $('#name').val()
    var email = $('#email').val()
    //Insert console.log or alert here to slow it down
    var chromeId = registrationId
    $.ajax({
         type: "POST",
         url: 'MY_URL',
         ajax:false,
         data: {chromeId: chromeId, name: name, email:email},
         success: function(result)
         {
           console.log(result)
         }
       });
  });
})
 
     
    