什么是Node.js中的非阻塞或asynchronousI / O?

在服务器端Javascript引擎的上下文中,什么是非阻塞I / O或asynchronousI / O? 我认为这被认为是Java服务器端实现的一个优势。

同步与asynchronous

同步执行通常是指按顺序执行的代码。 asynchronous执行指的是不按代码中出现的顺序运行的执行。 在以下示例中,同步操作会导致警报按顺序触发。 在asynchronous操作中,虽然alert(2)似乎执行第二,但它不。

同步:1,2,3

 alert(1); alert(2); alert(3); 
 var startTime = new Date().getTime(); var getEndTime = () => { var tempEndTime = new Date().getTime(); var second = (tempEndTime - startTime)/1000 return `took ${second} sec...to finish\n` } console.log('1: start App', getEndTime()) setTimeout(()=>{ console.log('2: setTimeout', getEndTime()) }, 1000) console.log('3: End App', getEndTime()) // console -> Process Order: 1 -> 3 -> 2 

代码示例