如何防止回调被送入javascript函数

Wal*_*row 0 javascript function callback

我有两个功能.

function function_a(callback) {
   if (some_condition===true) {
   callback // fire the callback
   }
}

function function_b() {
    ... do some action
}
Run Code Online (Sandbox Code Playgroud)

我的脚本调用:

function_a(function_b());
Run Code Online (Sandbox Code Playgroud)

意思是,callbackin function_a()将执行function_b().

但是我并不总是想function_b()开火.我只想要它some_condition===true(如在function_a()体内)发射.

现在的问题是,每当我将回调函数提供给另一个函数的参数时,它会自动触发它,而不会运行函数的脚本来确定回调是否需要触发.

有什么我做错了或以某种不同的方式做到这一点?

谢谢!

Com*_*ger 6

你需要打电话function_a(function_b);.

现在你没有传递function_b自己,你立刻调用它并传递它的返回值.

function_a应该做callback()而不是callback.