javascript resolveLocalFileSystemURL触发成功和失败回调

javascript resolveLocalFileSystemURL触发成功和失败回调,javascript,cordova,callback,file-exists,cordova-plugin-file,Javascript,Cordova,Callback,File Exists,Cordova Plugin File,我正在使用以下背靠背命令在cordova应用程序中执行简单的文件检查: function initWhipData(dir) { console.log("DIR = " +dir) ; } //Test: window.resolveLocalFileSystemURL(fPath + "whipdata.json", function() { console.log("TEST File Exists")}, function() { console.log("TEST

我正在使用以下背靠背命令在cordova应用程序中执行简单的文件检查:

function initWhipData(dir) {
   console.log("DIR = " +dir) ;
}

//Test:
window.resolveLocalFileSystemURL(fPath + "whipdata.json",
   function() { console.log("TEST File Exists")},
   function() { console.log("TEST File doesnt exist") }
) ;

//Actual:
window.resolveLocalFileSystemURL(fPath + "whipdata.json",
   initWhipData(10),
   initWhipData(20)
) ;
在控制台中。我得到以下信息,但不明白原因:

TEST File Exists  // expected
Dir = 10  // expected
Dir = 20  // not expected
在第二次文件检查中,同时调用success和fail。我做错了什么…不理解

然后我尝试了以下方法,得到了预期的结果:

window.resolveLocalFileSystemURL(fPath + "whipdata.json",
   function() {initWhipData(10)},
   function() { initWhipData(20)} 
) ;

它打印出“Dir=10”。显然,我没有理解一些我认为我理解的东西。当成功/失败回调不起作用时,为什么在函数中包装我的函数会起作用而直接引用函数?

这就是我们调用函数并获得结果的方式
var a=initWhipData(10)
这就是我们获取函数的引用的方法

我的意思是,您试图调用initWhipData函数,然后将其结果作为参数传递,而不是传递其引用。
这就是为什么首先调用initWhipData(10)和initWhipData(20),然后将返回值作为参数传递

window.resolveLocalFileSystemURL(fPath + "whipdata.json",
   initWhipData(10),
   initWhipData(20)
);
下面是如何传递回调函数的示例

window.resolveLocalFileSystemURL(fPath + "whipdata.json",
   successCallback, //If success then call this function
   errorCallback //If error happen then call this function
);

function successCallback(){
    initWhipData(10)
}
function errorCallback(){
    initWhipData(20)
}

这是我需要理解和/或缺少的部分:
您试图调用initWhipData函数,然后将其结果作为参数传递,而不是传递其引用
-谢谢!!