一、异步回调方式
最普通的方式,将回调函数当成参数进行回调。
const sayHello = ()=>{
console.log('hello')
}
setTimeout(sayHello, 100);
二、事件发射器
跟浏览器中给元素添加事件一样。简单使用:
const EventEmitter = require('events').EventEmitter;
const toSchool = new EventEmitter();
toSchool.on("getUp",()=>{
console.log(`get up!`)
})
// 使用
toSchool.emit("getUp") //get up!
三、Promise
小栗子:
const promiseA = new Promise((resolve,rejects)=>{
setTimeout(() => {
resolve("1000")
}, 1000);
})
promiseA.then(res=>console.log(res))
四、aysnc/await
小栗子:
const fs = require("fs");
function readFileJson() {
return new Promise((resolve,reject)=>{
fs.readFile("./item.json", (err, data) => {
if (err) {
reject(err);
} else {
resolve(data);
}
});
})
}
async function SayHello() {
const data = await readFileJson();
console.log(data);
}
SayHello();