如何在javascript中完成第一次回调后执行第二次回调?
我在谷歌上搜索了很多网站,找到了一种顺序回调的方法,即第二个函数应该在第一个函数完成后才执行。在我的例子中,我正在更新button click中节点的一些属性,每个属性更新都应该执行一个回调。我的问题是,一些属性更新是基于以前的属性的,我无法实现这一点。因为javascript在一个函数中执行 所以请给我指出正确的方向..如何在完成之前的回调后执行回调 提前谢谢 这是我的密码:如何在javascript中完成第一次回调后执行第二次回调?,javascript,asp.net,c#-4.0,web-applications,Javascript,Asp.net,C# 4.0,Web Applications,我在谷歌上搜索了很多网站,找到了一种顺序回调的方法,即第二个函数应该在第一个函数完成后才执行。在我的例子中,我正在更新button click中节点的一些属性,每个属性更新都应该执行一个回调。我的问题是,一些属性更新是基于以前的属性的,我无法实现这一点。因为javascript在一个函数中执行 所以请给我指出正确的方向..如何在完成之前的回调后执行回调 提前谢谢 这是我的密码: function SetProperties() { var nodes = Control1.Get
function SetProperties() {
var nodes = Control1.GetNodesList();
var ColorStyle = {
Color: 'Red',
ForeColor: 'Maroon',
ColorAlphaFactor: '255',
ForeColorAlphaFactor: '255',
Type: '2',
PathBrushStyle: '1'
};
var LineStyle = {
LineColor: 'Blue',
LineWidth: '2'
};
Control1.SetColorStyle(nodes[0].FullName, ColorStyle);
Control1.SetLocation(nodes[0], 150, 300);
Control1.SetRadius(nodes[0], 20);
Control1.SetShading(nodes[0], true);
Control1.SetSize(nodes[0], 150, 150);
Control1.SetLabel(nodes[0], label);
Control1.SetLineStyle(nodes[0], LineStyle);
}
如果理解,您可以在页面中定义隐藏字段
<input type='hidden' runat='server' id='funToCall'/>
这取决于第一个回调函数的工作方式。JavaScript实际上并不是一次执行所有代码,而是在单个线程中顺序执行。如果您的第一个回调在一系列命令中完成了所有工作,那么下一段代码只会在完成后开始执行 例如:
var a = 0;
function fun1() {
a = 1;
}
function fun2() {
alert(a);
}
fun1();
fun2();
将得出与以下相同的结果:
var a = 0;
a = 1;
alert(a);
因为
fun2
将在fun1
完成执行后执行。javascript在哪里?请更新您的问题以澄清您的问题。现在还不清楚这里到底出了什么问题。此外,JS中的函数无论如何都是逐个执行的。JS总是在一个线程中工作。因此,如果调用function1();function2()
function2将仅在function1
完成后执行。那么,现在如何调用回调?实际上,您可以在某个数组中注册所有回调,并在for循环中逐个执行它们。
var a = 0;
function fun1() {
a = 1;
}
function fun2() {
alert(a);
}
fun1();
fun2();
var a = 0;
a = 1;
alert(a);