在某些庫/框架文檔中,它告訴您可以使用同步或異步函數。檢查函數是否使用回調或返回值
例如,在Mongoose documentation它說:
定製的校驗器也可以是異步的。如果你的驗證器函數有兩個參數,貓鼬會假設第二個參數是一個回調函數。
因此,基本上,當你像這樣定義一個函數:
function(a){
return false;
}
貓鼬會認爲它是同步的,但我們把它定義是這樣的:
function(a,callback){
setTimeout(function(){
callback(false);
},5000)
}
這將被視爲異步碼。
我發現同樣的事情Mocha testing framework,該文檔中說:
測試與摩卡異步代碼不能簡單!只需在測試完成時調用回調。通過向它()添加一個回調函數(通常名爲done),Mocha會知道它應該等待這個函數被調用來完成測試。
我的問題是:他們是如何做到這一點?當你調用函數時,你會如何知道它是否需要1或2個參數?
@adeneo你不能變成功能 – Mahi