Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以在执行前一个函数之前执行web消息回调函数?_Javascript - Fatal编程技术网

Javascript 是否可以在执行前一个函数之前执行web消息回调函数?

Javascript 是否可以在执行前一个函数之前执行web消息回调函数?,javascript,Javascript,如果您有触发函数的web消息,并且消息很快就会传入,那么在上一个函数完成之前是否可以执行该函数 document.addEventListener('some_message', some_func, false); function some_func (data){ //Is the code here always executed before the next function is executed? } 是的,这就是JavaScript中异步事件的工作方式 您可以查看,它解

如果您有触发函数的web消息,并且消息很快就会传入,那么在上一个函数完成之前是否可以执行该函数

document.addEventListener('some_message', some_func, false);
function some_func (data){
   //Is the code here always executed before the next function is executed?
}

是的,这就是JavaScript中异步事件的工作方式


您可以查看,它解释了异步等待在现代JavaScript中的工作方式。

是的,这就是异步事件在JavaScript中的工作方式


您可以查看,这解释了async await在现代JavaScript中的工作原理。

由于只有一个JavaScript线程在运行,一次只能运行一段代码。因此,这将始终按照触发事件的相同顺序执行,并且一次只能执行一个:

function callback_func(data) {
    alert(data);
}
但是,如果回调异步工作,即将线程返回到浏览器,那么它是不可预测的:

function callback_func(data) {
    setTimeout(() => {
        // who knows when this will be called ¯\_(ツ)_/¯
        alert(data);
    }, Math.random());
}

因为只有一个Javascript线程在运行,所以一次只能运行一段代码。因此,这将始终按照触发事件的相同顺序执行,并且一次只能执行一个:

function callback_func(data) {
    alert(data);
}
但是,如果回调异步工作,即将线程返回到浏览器,那么它是不可预测的:

function callback_func(data) {
    setTimeout(() => {
        // who knows when this will be called ¯\_(ツ)_/¯
        alert(data);
    }, Math.random());
}

有没有关于js中异步如何工作以帮助他理解SAND的文章?有没有关于js中异步如何工作以帮助他理解SAND的文章?好的,谢谢。因此,我的代码示例将是这样的情况:它将“以与触发事件相同的顺序执行”,因此不是异步的?是的,
callback\u func
将按照事件到达的顺序触发,并且一次只触发一个。不管你在里面做什么,也不知道那里会发生什么…:谢谢。因此,我的代码示例将是这样的情况:它将“以与触发事件相同的顺序执行”,因此不是异步的?是的,
callback\u func
将按照事件到达的顺序触发,并且一次只触发一个。不管你在里面做什么,也不知道那里会发生什么事