梦入琼楼寒有月,行过石树冻无烟

JavaScript 异步函数编写

在Java中,每个异步函数都构建在其他某个异步函数之上,只要是异步函数,那么该函数从上倒下都是异步函数。

什么是堵塞

堵塞是异步函数中的一个术语,主要强调了异步函数的高速度。假如异步MySQL数据库驱动程序做一个查询可能会上一个小时,但是负责发送查询请求的那个函数却可以能微秒级速度返回。

什么是同步函数和异步函数

同步和异步可以从字面上进行理解,当然也有第二个答案是同步是阻塞模式、而异步是非堵塞模式:

1. 同步

1. 同步则发送出数据后,等待接收方回复响应则发送下一个数据

2. 异步

1. 异步可以理解为,不等接受方回复响应则发送队列中的下一个数据

有时异步函数

有些函数有时候是异步的,但是在其他的时候又不是异步的,就比如JQuery同名函数,可用于延迟函数,直到DOM已经完全加载,就不会有延迟,但是他的回调将会立刻触发

index.html

1
2
3
4
5
6
7
8
9
10
11
12
13
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Data</title>
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js">
</script>
</head>
<body>
<script src="js/one.js"></script>
<script src="js/two.js"></script>
</body>
</html>

浏览器如果从缓存中访问当前页面,使得DOM(文档对象模型,Document Object Model)提前准备。正常情况下这段代码是可以正常执行的。

one.js

1
2
3
$(function() {
utils.log('Ready');
});

two.js

window.utils = {
    log: function() {
        if (window.console) console.log.apply(console, arguments);
    }
};

⬅️ Go back