gpt4 book ai didi

javascript resolveLocalFileSystemURL 触发成功和失败回调

转载 作者:行者123 更新时间:2023-11-30 14:57:13 25 4
gpt4 key购买 nike

我正在使用以下背靠背命令在我的 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);
这就是我们获取函数引用的方式 var a = initWhipData;

我的意思是,您正在尝试调用 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)
}

关于javascript resolveLocalFileSystemURL 触发成功和失败回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47059448/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com