我有一个html文件,其中包含2个js。 first.js有一个getJSON调用和一个回调函数,如下所示:
finalResult = ""
callbackfunction = function(result){
finalResult = some manipulation with result
}
getJSON (url, callbackfunction)
second.js正在使用first.js的数据'finalResult'。如下所示:
ultimateResult = some manipulation with finalResult
问题:在调用回调函数之前执行ultimateResult行,因此second.js总是将finalResult读作空白值。
我尝试在进行json调用之前将ajax asynch变量设置为false - > Dint帮助 我尝试将first.js的脚本包含在second.js中,以便在最终脚本行之前执行它 - > Dint帮助 我不能将second.js ultimateResult脚本包含在first.js的回调中 - >这不是我的选择
我可以在性能上妥协,其中ultimateResult可以等待回叫完成,但我不知道如何实现它。如果我尝试在条件(当然)条件下使用某些标志,程序会循环。
谢谢!
答案 0 :(得分:0)
所以你有:
HTML:
<script src="first.js"></script>
<script src="second.js"></script>
first.js:
var finalResult = '';
var callBackFunction = function(result) {
finalResult = codeManipulation();
}
getJson(url, callBackFunction);
second.js:
function ultimateResult(result) {
console.log(result);
}
ultimateResult(finalResult);
//OUTPUTS EMPTY STRING