async 用来声明 async 函数
async function demo() {}
console.log(demo()); //Promise {<fulfilled>: undefined} 一个promise对象
await 表达式
let p = new Promise((resolve, reject) => {
//resolve("成功的值");
reject("失败的值");
});
async function main() {
try {
let result = await p;
console.log(result); //p的状态为true就会执行这里的语句
} catch (error) {
console.log(error); //p的状态为false就会打印error
}
}
main();
async 和 awiat结合
const fs = require('fs');
function read1() {
return new Promise((resolve, reject) => {
fs.readFile("./t1.txt", (err, data) => {
if (err) reject(err);
resolve(data);
});
});
}
function read2() {
return new Promise((resolve, reject) => {
fs.readFile("./t2.txt", (err, data) => {
if (err) reject(err);
resolve(data);
});
});
}
async function main() {
let r1 = await read1();
let r2 = await read2();
console.log(r1.toString());
console.log(r2.toString());
}
main();
function sendAxaj(url) {
return new Promise((resolve, reject) => {
let x = new XMLHttpRequest();
x.open("GET", url);
x.send();
x.onreadystatechange = function () {
if (x.readyState === 4) {
if (x.status >= 200 && x.status < 300) {
resolve(x.response);
} else {
reject(x.status);
}
}
}
});
}
async function main() {
let res = await sendAxaj("http://127.0.0.1:3000/test");
console.log(res);
}
main();