我有这段代码:
if (condition) {
syncAjax();
}
callAfterAjaxOnlyOnce();
我要重写为asyncAjax()
。但这不行
if (condition) {
asyncAjax(callback(){callAfterAjaxOnlyOnce();});
}
当condition
为false
时,因为callAfterAjaxOnlyOnce()
将被执行0次。这也不好
if (condition) {
asyncAjax(callback(){callAfterAjaxOnlyOnce();});
}
callAfterAjaxOnlyOnce();
当condition
为true
时,因为callAfterAjaxOnlyOnce()
将被执行两次。如果我做
asyncAjax(callback(){
if (condition) {
callAfterAjaxOnlyOnce();
}
});
这与原始代码不相同,因为我只想在asyncAjax
为真的情况下执行condition
。
为了拥有完全相同的功能,是否可以重写它?
答案 0 :(得分:1)
在if语句中使用return
,以便在条件为真时不会执行任何操作。
if (condition) {
return asyncAjax(callAfterAjaxOnlyOnce);
}
callAfterAjaxOnlyOnce();