![](/img/trans.png)
[英]How can I make a part of code inside the function to run after the state updates or when it is not undefined in react native?
[英]Can I make javascript run a function when it encounters an undefined element?
我正在维护一个非常老的Web窗体应用程序,该应用程序与IE6兼容的javascript粘合在一起。 这意味着可以在JS中访问元素,而无需先初始化。
我的意思是,使用此方法是“有效的”:
txtIngredient.value = 'potato';
为了使其在新的浏览器(例如Chrome,Firefox等)中运行,此代码变为:
document.getElementById('txtIngredient').value = 'potato';
显然,Chrome,Firefox等在遇到前一个语句时会抛出未定义的错误,并且由于引发的异常而导致JS停止执行。
目前,我正在遍历代码并进行移植,使其看起来更像后者,但是我想知道是否可以编写一个错误处理程序来处理未定义的错误,这些错误将在发生这种情况时捕获,然后以某种方式捕获返回该元素(如果它在DOM中找到)并重新尝试该语句? 如果这样,将节省大量工作。
编辑:例如:
此代码无法正常工作:
function ShrinkDetails() {
document.Form1.btnExpand.value = "+ Dispense Details";
trDateDispensed.style.display = "none";
trDuration.style.display = "none";
trStartDate.style.display = "none";
trRepeats.style.display = "none";
trQuantity.style.display = "none";
}
Chrome等在document.Form1上引发未定义的错误。
这段代码可以工作:
function ShrinkDetails() {
document.getElementById('btnExpand').value = "+ Dispense Details";
document.getElementById('trDateDispensed').style.display = "none";
document.getElementById('trDuration').style.display = "none";
document.getElementById('trStartDate').style.display = "none";
document.getElementById('trRepeats').style.display = "none";
document.getElementById('trQuantity').style.display = "none";
}
听起来您需要对要获得的参考错误进行尝试/捕获?
try {
var myVar = txtIngredient;
} catch (e) {
if (e instanceof ReferenceError) {
// code here
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.