JS 异步理解

一、异步

JS的异步:一个同步任务队列,一个异步任务队列,同步任务队列中执行非耗时操作,异步任务中执行耗时操作,任务的执行是从上到下的,如果中间出现网络请求耗时操作,并不会等待请求结果返回再继续执行,而是讲耗时操作挂起,直接进行下一个任务。
这样会出现接口未返回结果,而页面已经渲染的情况,如果想要保证数据返回之后再去渲染页面,需要根据需求决定使用Promise语法,或者async,await处理。

JS异步其实并不是真的异步,某种意义上讲还是同步。因为异步任务在同步任务执行结束后才去执行,不同于JAVA的异步,是真正主线程和子线程同时异步执行的。

看下setTimeout这种情况

setTimeout(function () { document.getElementById("demo").innerHTML="我可是异步!"; }, 3000);

第二个参数:时间,代表在耗时任务等待执行的时间;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容