node.js线程同步
什么是线程同步,即开始调用就注定会进入主线程的线程被称为同步线程,如console.log(1)
console.log(2)
这是我们早就了解的同步线程只会先执行第一句,后执行第二句。
node.js线程异步
function f1(){
}
function f2(){
}
f1();
f2();
//如果f1(),f2()是异步线程,那么它就有可能不会按照我们所想的进行顺序执行
什么是线程异步,即刚开始调用并不是进入了主线程,而是进入了线程队列中,而进入线程队列的顺序是不确定的,也可能会因为调用时间不同而先调用调用时间短的。而在此回调函数一定会排在主调函数之后,所以如果我们如果想要顺序执行异步,我们就需要调用回调函数
//如果我们想要执行只能进行回调函数;
f1(f2());//这样我们就可以进行顺序执行
而在ES6中我们出现了惹人爱的promise,一个promise
(new Promise(f1)).then(f2)
也就是如果有多个函数,我们只需要一直then就好。
异步线程同步书写多香?