嗨,我想将函数传递给另一个函数,但又不影响代码中的中间函数
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)})
})
答案 0 :(得分:1)
您传递不带参数的函数。然后,当您调用时,将使用参数对其进行调用。
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);
})