一、介绍图
再执行程序1时,把1.1和1.2丢到事件队列中,去异步执行,这样提高了效率,让执行速度更快。
如果使用同步,需要等待程序1完全执行完成后,才能去执行程序2。
二、同步函数
• 在主程序中自上而下运行
• 例如:去火车站排队买票
三、异步函数
• 通过回调函数在事件队列中运行
• 例如:委托黄牛买票,票买好后通知我(无需等待,可以做其他事)
四、何时使用同步函数,何时使用异步函数?
再考虑性能的时候,执行效率的时候,使用异步函数。如果不考虑效率,需要进行验证判断,成功才能继续往下进行,就使用同步函数,例如:删除文件前,需要判断该文件是否存在。
示例:
const fs = require('fs')
//先判断文件是否存在,然后,如果文件存在的话,再执行删除
if (fs.existsSync(__dirname+'/1.txt'))
{
fs.unlink(__dirname+'/1.txt')
}else
{
console.log('文件不存在');
}
注:再API官方文档中,后缀为sync的都是同步的函数方法,如果没有sync的都是异步的函数方法,然后我们会发现,同步的函数没有回调函数,而异步的函数带有回调函数。