异步编程

JavaScript = ECMAScript + 宿主API

同步API

可以获取返回值

1
2
const fs = require('fs');
const fsd = readFileSync('fs1.txt','utf8');

异步API

不可获取返回值,需要使用回调函数来获取结果

回调

1
2
3
setTimeout(function time1(){
console.log("task")
},2000)

先执行宏任务(同步的代码),后执行异步代码

Ajax 原生

1
2
3
4
5
6
7
8
9
10
11
12
let xmlHttpRequest = new XMLHttpRequest();

xmlHttpRequest.open('GET', 'url');
xmlHttpRequest.send(); // 发送请求

// 获取服务响应数据,监测 xmlHttpRequest 的状态
xmlHttpRequest.onreadystatechange = function() {
if (xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200) {
// 此时 xmlHttpRequest.responseText 有数据了
document.getElementById('div1').innerHTML = xmlHttpRequest.responseText;
}
}

AJAX - XMLHttpRequest 对象

Axios

对原生 Ajax 进行了封装

网站: https://www.axios-http.cn/

见本站前端分类下 Axios