有没有一种方法可以将return
语句作为函数的调用者执行?
拿
index.php:
require action.php
action.php:
require check.php
checkAccess() || return;
doSomeSecretStuff();
check.php:
function checkAccess() {
if(loggedIn)
return true;
return false;
}
我想知道是否有一种方法可以执行该return
语句,迫使action.php从checkAccess()
内部停止?
有点像get_function_caller().eval("return");
(超级伪代码)
答案 0 :(得分:0)
如果您有这个:
check();
foo();
check
不能return
为您提供 ,因此保证将执行foo
。那是一件好事,否则您将无法保证代码中的执行流程。
唯一可能跳过foo
执行的方法是,如果check
中发生致命错误并且一切都停止了,或者(如果确实发生了)check
抛出。
您将使用以下类似方式:
let foo = false;
function assertFoo() {
if (!foo) {
throw new Error('Not enough foo');
}
}
function bar() {
assertFoo();
console.log('Barrr!');
}
try {
bar();
} catch (e) {
console.log(e.message);
}