AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
## 基本概念 1. Promise是一个构造函数,new Promise就可以得到一个实例. 2. 在Promise上有两个函数,分别叫做resolve(成功之后的回调函数)和reject(失败之后的回调函数) 3. 在Promise构造函数的prototype属性上,有一个then()方法,也就是说,只要是Promise构造函数创建的实例,都可以访问到.then()方法. 4. Promise表示一个异步操作.每当我们new一个Promise的实例,这个实例就表示一个具体的异步操作. 5. 既然Promise创建的实例,是一个异步操作,那么这个异步操作的结果,只能有两种状态: 1.异步执行成功了.在内部调用成功的回调函数resolve,把结果返回给调用者. 2.异步执行失败了.在内部调用失败的回调函数reject,把结果返回给调用者. 3.由于Promise的实例,是一个异步操作,所以,内部拿到操作的结果后们无法使用return把操作的结果返回给调用者.这时候,只能使用回调函数的形式,把成功或失败的结果返回给调用者. 6. 我们可以在new出来的Promise实例上调用 .then()方法,预先为这个Promise异步操作指定成功(resolve)的和失败(reject)的回调函数. ## 形式上和具体上的promise异步操作的区别 注意:这里new出来的promise,只是代表形式上的一个异步操作. 什么是形式上的一步操作:就是说我们只知道它是一个异步操作,但是做什么具体的异步事情,目前还不清楚. ``` var promise = new Promise(); ``` ## 具体的异步操作 这是一个具体的异步操作,其中,使用function指定一个具体的异步操作. ``` var promise = new Promise(function(){ //这个function内部写的就是具体的异步操作 }); ```