如何深入理解JavaScript中Promise的异步编程应用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1334个文字,预计阅读时间需要6分钟。
1.+ 概述Promise 对象是 ES6 提出的异步编程规范。说到异步编程,不得不提同步和异步这两个概念。同步和异步是编程中常见的两种处理任务的方式。
从字面意思理解,同步编程的话,似乎是指两个任务同步执行,一个任务没有执行完毕,另一个任务就无法开始。而异步编程则是指任务可以并行执行,一个任务执行完毕后,再通知另一个任务继续执行。
简单来说,同步编程就像两个人面对面聊天,一个说完才能轮到另一个说;而异步编程则像是打电话,可以边听边说,不用等待对方说完。
1. 概述
Promise对象是ES6提出的的异步编程的规范。说到异步编程,就不得不说说同步和异步这两个概念。
从字面意思理解同步编程的话,似乎指的是两个任务同步运行,如果这样理解就错了(至少笔者再没有接触到这个概念的时候有这种误解)。同步和异步指的是代码指定执行的顺序(结构化编程范式的执行顺序总是由上至下,由前往后的),如果执行的顺序与代码的相同,就是同步;如果不同,就是异步。
最初,操作系统都是基于命令行的,所有的的语言设计出来也天然是同步的语句,在这种情况下,也不需要异步编程。但是很快,图形操作界面就出来了,所有的程序设计语言都不得不跟GUI打交道了。我们必须了解的是,GUI程序是一个不停绘制的界面程序:
while(done) { dosomething(); drawGUI(); }
如果每个循环中执行的任务dosomething()的事件太长,就会导致界面迟迟得不到绘制命令,直观的表现就是卡顿。
本文共计1334个文字,预计阅读时间需要6分钟。
1.+ 概述Promise 对象是 ES6 提出的异步编程规范。说到异步编程,不得不提同步和异步这两个概念。同步和异步是编程中常见的两种处理任务的方式。
从字面意思理解,同步编程的话,似乎是指两个任务同步执行,一个任务没有执行完毕,另一个任务就无法开始。而异步编程则是指任务可以并行执行,一个任务执行完毕后,再通知另一个任务继续执行。
简单来说,同步编程就像两个人面对面聊天,一个说完才能轮到另一个说;而异步编程则像是打电话,可以边听边说,不用等待对方说完。
1. 概述
Promise对象是ES6提出的的异步编程的规范。说到异步编程,就不得不说说同步和异步这两个概念。
从字面意思理解同步编程的话,似乎指的是两个任务同步运行,如果这样理解就错了(至少笔者再没有接触到这个概念的时候有这种误解)。同步和异步指的是代码指定执行的顺序(结构化编程范式的执行顺序总是由上至下,由前往后的),如果执行的顺序与代码的相同,就是同步;如果不同,就是异步。
最初,操作系统都是基于命令行的,所有的的语言设计出来也天然是同步的语句,在这种情况下,也不需要异步编程。但是很快,图形操作界面就出来了,所有的程序设计语言都不得不跟GUI打交道了。我们必须了解的是,GUI程序是一个不停绘制的界面程序:
while(done) { dosomething(); drawGUI(); }
如果每个循环中执行的任务dosomething()的事件太长,就会导致界面迟迟得不到绘制命令,直观的表现就是卡顿。

