[英]run another function after preceding function has completed?
如果我启动2个这样的功能:
prepare_data();
read_data();
然后我猜他们在同一时间运行。 但是你可以看到第二个函数取决于第一个函数,那么如何在第一个函数完成后运行后者?
Javascript和大多数其他语言按顺序运行代码。
因此,它们不会同时运行。
实际上,不可能同时运行两个不同的Javascript代码。 但是,在许多其他语言中,可以使用线程。
但是,如果它们进行AJAX调用,则两个函数调用的相应服务器端代码将同时运行。
为了防止这种情况,您需要使第一个函数接受一个回调参数并将其传递给第二个函数。
我假设第一个调用进行某种异步调用,第二个调用依赖于,否则这两个函数将按顺序执行。
如果是这样,你需要在第一个回调中做第二个。 例如,在jQuery中:
function prepare_data() {
$("#data").load("/load_data.php", function() {
read_data();
});
}
如果没有关于你是否使用vanilla Javascript或特定库的更多信息,就不可能说出如何解决这个问题。 我强烈建议使用某种类型的库来安装AJAX。
可能是在第一个函数函数成功执行后要调用第二个函数,如果是,那么你可以这样做
$('button').click(function()
{
function1(someVariable, function() {
function2(someOtherVariable);
});
});
function function1(param, callback) {
alert('Now first function will be called.');
callback();
}
@SLaks
实际上,不可能同时运行两个不同的Javascript代码。 但是,在许多其他语言中,可以使用线程。
这完全正确吗? 你不能使用网络工作者并行运行JavaScript?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.