掌握JavaScript中Promise的基础用法

需积分: 5 0 下载量 57 浏览量 更新于2024-12-12 收藏 1KB ZIP 举报
资源摘要信息:"js代码-Promise 基础使用" 知识点一:Promise概念理解 Promise是JavaScript中用于处理异步操作的一个对象。它代表了一个尚未完成但预期将来会完成的“承诺”。在Promise对象中,你可以绑定回调函数来处理异步操作成功时的结果,或者在操作失败时处理错误。Promise对象有两个主要的API:then和catch。then用于处理异步操作成功后的结果,catch用于处理异步操作失败后的错误。 知识点二:Promise状态 Promise有三种状态:pending(进行中)、fulfilled(已成功)、rejected(已失败)。在pending状态下,Promise的结果尚未确定;在fulfilled状态下,Promise代表的异步操作已成功完成,且可以获取到异步操作的结果;在rejected状态下,Promise代表的异步操作已失败,可以获取到失败的原因。 知识点三:Promise基本使用 在JavaScript中,Promise可以通过new Promise()来创建。new Promise()需要一个执行器函数作为参数,执行器函数接收两个参数:resolve和reject。resolve是一个函数,用于改变Promise状态为fulfilled;reject也是一个函数,用于改变Promise状态为rejected。 例如: ```javascript let promise = new Promise(function(resolve, reject){ //执行某些操作 if(操作成功){ resolve(value); } else { reject(error); } }); promise.then(function(value){ //操作成功后的处理 }, function(error){ //操作失败后的处理 }); ``` 知识点四:Promise链式调用 Promise的then和catch方法都可以返回一个新的Promise对象,这使得Promise可以实现链式调用。链式调用可以处理多个异步操作的连续执行,每个then和catch方法的返回值都会传递给下一个then方法。 例如: ```javascript promise .then(function(result){ //第一个异步操作成功后的处理 return result; }) .then(function(result){ //第二个异步操作成功后的处理 return result; }) .catch(function(error){ //处理上面任何一个异步操作失败后的错误 }); ``` 知识点五:Promise.all和Promise.race Promise.all和Promise.race是Promise对象的两个静态方法。Promise.all可以等待多个Promise对象都完成,然后一起返回一个结果。Promise.race则是等待多个Promise对象中第一个完成,然后返回结果。 例如: ```javascript let promise1 = Promise.resolve(3); let promise2 = 42; let promise3 = new Promise(function(resolve, reject) { setTimeout(resolve, 100, 'foo'); }); Promise.all([promise1, promise2, promise3]).then(function(values) { console.log(values); // [3, 42, "foo"] }); Promise.race([promise1, promise2, promise3]).then(function(value) { console.log(value); // 3 }); ``` 以上就是Promise在JavaScript中的基础使用,掌握Promise是处理JavaScript异步操作的基础。