1.同步api,异步API
//路径拼接
const public = path.join(__dirname, 'public');
//请求地址解析
conse urlObj = url.parse(req.url);
//读取文件
fs.readFile('./demo.txt','utf8',(err,result)=>{
console.log(result);
});
同步API,只有当前API执行完毕后,才能继续执行下一个API
console.log('before');
console.log('after');
console.log('before');
setTimeout(()=>{
console.log('last');
},2000);
console.log('after');
2.同步API,异步API的区别(获取返回值)
同步API可以从返回值中拿到API执行的结果,但是异步API是不可以的
3.回调函数
自己定义函数让别人去调用
function getData(callback) {
callback('123');
};
getData((n) => {
console.log('callback函数被调用了');
console.log(n);
});
4.同步API和异步API的区别(代码执行顺序)
同步API从上到下依次执行,前面的代码会阻塞后面代码的执行
for( var i = 0; i <10000; i++){
console.log(i);
}
console.log('循环代码被执行完毕了);
异步API不会等待API执行完成后再乡下执行代码
console.log('代码开始执行了')
setTimeout(()=>{ console.log('2秒后执行的代码')},2000);
setTimeout(()=>{ console.log('0秒后执行代码')},0);
console.log('代码结束执行');