gpt4 book ai didi

javascript - 在函数中使用 javascript var - 顺序问题

转载 作者:行者123 更新时间:2023-12-02 14:09:20 26 4
gpt4 key购买 nike

我的 javascript 顺序有问题,我确信这很简单:

我想检查变量是什么(使用 if 语句),然后从另一个变量或 txt 文件中的值设置它

到目前为止,我可以成功加载文件并设置 var(我可以在控制台中检查它)

但是脚本的后续部分不会等待 var 被设置,因此不会使用 var,从而导致 var“cleanTradeDate”出现错误

我的问题是,下面的内容是否正确,或者我应该以不同的方式构造 var 。如何使后续代码等待/使用“cleanTradeDate”值?

以下是代码示例:

var URLTradeDate = document.URL.substring(document.URL.search('tradeDate=') + 10, document.URL.search('tradeDate=') + 22);
var cleanTradeDate;
$(document).ready(function () {
if (URLTradeDate == '') {
$.get('data/0.max_trade_date.txt', function(maxTradeDate) {
cleanTradeDate = maxTradeDate.replace(/[\n\r]+/g, '');
});
} else {
cleanTradeDate = URLTradeDate;
}

$("#datepicker").datepicker({dateFormat: 'yy-mm-dd'});
$("#datepicker").datepicker('setDate', cleanTradeDate);
});

最佳答案

这不是变量声明的地方,而是it's filled asynchronously 。你最好使用 promise :

$(document).ready(function () {
var index = location.search.indexOf('tradeDate=');
var URLTradeDate = location.search.slice(index + 10, index + 22);
var promise = (index == -1 || URLTradeDate == '')
? $.get('data/0.max_trade_date.txt').then(function(maxTradeDate) {
return maxTradeDate.replace(/[\n\r]+/g, '');
});
: $.when(URLTradeDate);
promise.then(function(cleanTradeDate) {
$("#datepicker").datepicker({dateFormat: 'yy-mm-dd'});
$("#datepicker").datepicker('setDate', cleanTradeDate);
});
});

关于javascript - 在函数中使用 javascript var - 顺序问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39774891/

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