簡體   English   中英

調用函數並忽略回調參數

[英]calling function and ignoring callback parameter

我想這樣稱呼:

function fwc(a, b, callback) {

dosomestuff(a,b);
callback();
}

有了這個:

fwc (a,b);

有時我需要回調,有時我不需要。 當我調用函數並完全忽略回調時,這會引起麻煩嗎?

如果您無法更改fwc函數,則可以這樣調用它:

fwc(a, b, function(){});

這樣,當fwc嘗試調用第三個參數時,不會有錯誤。

如果可以更改,請將其更改為

function fwc(a, b, callback) {
    dosomestuff(a,b);
    if (callback) callback();
}

您應該像這樣檢查回調的類型:

function fwc(a, b, callback) {
 dosomestuff(a,b);
 if( typeof( callback ) == "function" ){
  callback();
 }
}

使用三元運算符進行簡單檢查以查看該功能是否存在。

function fwc(a, b, callback) {
    dosomestuff(a,b);
   (callback) ? callback():"";
}

或像這樣:

function fwc(a, b, callback) {
    dosomestuff(a,b);
    callback && callback();
}

您還可以檢查callback類型以確保它是一個函數。 如果是這樣,請查看Travis的一般答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM