![在这里插入图片描述](https://img-blog.csdnimg.cn/c827684731cc484197dd340efcf374d0.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3gxMDM3NDkwNDEz,size_16,color_FFFFFF,t_70)
1.async和await使用
![在这里插入图片描述](https://img-blog.csdnimg.cn/c3a8bada8ba6492194aa61a48da69ae5.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3gxMDM3NDkwNDEz,size_16,color_FFFFFF,t_70)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<script type="module">
const p = new Promise((resolve, reject) => {
resolve("成功的数据");
});
async function fn(){
try{
let result=await p;
console.log(result);
}catch(e){
console.log(e);
}
}
fn()
</script>
</body>
</html>
2.async和await结合读取文件
![在这里插入图片描述](https://img-blog.csdnimg.cn/4a2661d4572e447b9c6778a394b2003a.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3gxMDM3NDkwNDEz,size_16,color_FFFFFF,t_70)
const fs=require('fs')
function SH(){
return new Promise((resolve,reject)=>{
fs.readFile("./resources/上海.md",(err,data)=>{
if(err) reject(err)
resolve(data)
})
})
}
function SZ(){
return new Promise((resolve,reject)=>{
fs.readFile("./resources/深圳.md",(err,data)=>{
if(err) reject(err)
resolve(data)
})
})
}
function XG(){
return new Promise((resolve,reject)=>{
fs.readFile("./resources/香港.md",(err,data)=>{
if(err) reject(err)
resolve(data)
})
})
}
async function test(){
try{
const result1=await SH()
const result2=await SZ()
const result3=await XG()
console.log(result1.toString());
console.log(result2.toString());
console.log(result3.toString());
}catch(e){
console.log(e);
}
}
test()
3.async和await结合发送Ajax请求
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<script type="module">
function sendAjax(url){
return new Promise((resolve,reject)=>{
const xhr=new XMLHttpRequest()
xhr.open('GET',url)
xhr.send()
xhr.onreadystatechange=function(){
if(xhr.readyState){
if(xhr.status>=200&&xhr.status<300){
resolve(xhr.response)
}else{
reject(xhr.status)
}
}
}
})
}
async function test(){
let result= await sendAjax("https://api.apiopen.top/getJoke")
console.log(result);
}
test()
</script>
</body>
</html>