Java-скрипт передает функцию с аргументами в другую функцию - PullRequest
0 голосов
/ 26 июня 2019

Привет, я хотел бы передать функцию другому, но не затрагивая среднюю функцию в моем коде

checkUserAndStart(startFunction) - эту функцию я хочу использовать во многих местах (для проверки зарегистрированного пользователя - если зарегистрировано началофункция, но не всегда с параметрами)

  function startInTorry(email,displayName){         
      $('#footer-email').html(email);
      $('#InTorryUserName').html(displayName);        
  }

  function checkUserAndStart(startFunction) {
      firebase.auth().onAuthStateChanged(function (user) {
        if (user) {
          //user.email,user.displayName is from here
          startFunction();
        } else {
          window.location = 'login.html'
        }
      })
    }

  $(document).ready(function () {       
    checkUserAndStart(function(){startInTorry(user.email,user.displayName)})
  })

1 Ответ

1 голос
/ 26 июня 2019

Вы передаете функцию без ее аргументов. Затем, когда вы вызываете , вы вызываете его с аргументами.

function startInTorry(email,displayName){         
      $('#footer-email').html(email);
      $('#InTorryUserName').html(displayName);        
}

function checkUserAndStart(startFunction) {
  firebase.auth().onAuthStateChanged(function (user) {
    if (user) {
      startFunction(user.email, user.displayName);
    } else {
      window.location = 'login.html'
    }
  })
}

$(document).ready(function () {
  checkUserAndStart(startInTorry);
})
...