非同步函式与同步函式是非常多人所误解
先来看一下同步
console.log('1')
console.log('2')
这样就是了?
这跟平常JavaScript有什麽两样???
没错!!! JavaScript其实只有一条主程序(single thread),所以很容易会阻塞。
而当我们要去获取外部的资料,举例: 我要去中央气象局透过api拿温度资料。
我们的步骤如下:
更直白的说法,在餐厅中:
而JavaScript就是使用非同步的方式制造有多工的假象。
其实setTimeout就是web api(非同步函式)
function Getdata() {
console.log('1');
setTimeout(function() {
console.log('2, 等我1秒');
},1000)
console.log('3');
}
Getdata()
/*
1
3
2 等我1秒
*/
只要用到web api,不论是否为0秒都要等待被呼叫
function Getdata() {
console.log('1');
setTimeout(function() {
console.log('2, 等我0秒');
},0)
console.log('3');
}
Getdata()
/*
1
3
2 等我0秒
*/
明天我们会进入Promise,看Promise如何解决callback的痛点!!!
<<: [Day11] CH08:积沙成塔——Array & ArrayList(上)
● 这章会示范如何透过永丰iLeader查询交易帐务 接续前一章,我们这章来查询股票买卖的交易纪录 ...
IDM3.67简体破解版,最近打开就提示更新,更新后就不能用了! 然后就无意中发现了这款神器,功能上...
延续昨天的十六进位转换,还有件重要的事。 隐藏的问题,容量变大了 若是某个需求,资料传送过程中不允许...
「糟了!我还没有看信箱!」顶着一头蓬松乱发的诗忆匆匆的掀开被子,迅速且小心翼翼地沿着旁边的梯子往下攀...
对PostBack Event中的字串进行处理,由於这个参数仅能放入字串,所以可以套用网页Query...