javascript中的同步和异步

同步指的是按照顺序来执行,异步则是多个任务同时执行。

比如如下代码:

slow(){
var a=0
download()//time consuming function
a+=1
console.log(a)
}

download是一个比较耗时的函数,程序按照顺序执行,就是同步,download将会延缓后面功能的执行,有时候我们希望download,能够另起线程来进行,这种方式就是异步。同步和异步对应于windows操作系统的单线程和多线程。

换成异步代码:

quick(){
var a=0
setTimeout(download(),0)//make download execute asynchronous
a+=1
console.log(a)
}

setTimeout会在0秒后后台执行download。

await用于等待一个promise对象,它只能放在async funciton里,这样就可以将异步变为同步方式。https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await

你可能感兴趣的:(小程序)