Promise

简介: Promise

人活在世,不过一场美丽的寄居。——简嫃

在前端开发中经常会使用异步方法

这里介绍Promise函数

定义方式:

// Promise内部构造参数为一个闭包,闭包中传入你想要异步处理的逻辑
new Promise((resolve,reject)=>{
    // 这里resolve表示正常处理异步逻辑后传送回调,reject则是异常逻辑或错误逻辑时执行,当异步方法中抛出异常,会自动调用reject,这里也可以手动调用
    resolve(1)
})

然后定义完了,我们就可以开始调用

调用写法如下:

new Promise((resolve,reject)=>{
    // 假设我这里异步方法处理完后得到的结果为1,我就传入一个1
    resolve(1)
})
.then(res=>{
    // 然后异步方法执行完了,我再对结果进行异步处理,让得到的1再加一个1
    console.log(res+1)
})

使用then可以执行异步方法后续处理,将异步方法的回调的结果作为参数

这里执行后就会打印2

如果发生异常,我们想进行异常处理,则可以使用catch处理,例如下面例子

new Promise((resolve,reject)=>{
    // 手动抛出异常
    throw new Error("ruben")
    resolve(1)
})
.then(res=>{
    console.log(res+1)
}).catch(error=>{
    console.log(error)
})

打印结果为ruben

我们也可以用另一种写法:

new Promise((resolve,reject)=>{
    throw new Error("ruben")
    resolve(1)
})
// 这里在then中传入两个闭包,第二个则相当于`catch`函数的参数
.then(res=>{
    console.log(res+1)
},error=>{
    console.log(error)
})

如果我们对于Promise要让他同步处理,也就是说我要等他执行完再执行后面的逻辑,可以在前面加一个await

await new Promise((resolve,reject)=>{
    throw new Error("ruben")
    resolve(1)
})
.then(res=>{
    console.log(res+1)
},error=>{
    console.log(error)
相关文章
|
前端开发 小程序 JavaScript
promise 应用
promise 应用
58 0
|
前端开发 JavaScript 测试技术
6 # 实现简单的 promise
6 # 实现简单的 promise
38 0
|
5月前
|
前端开发
|
存储 JSON 前端开发
深入使用 Promise
前面各种铺垫已经好了,现在我们一起来用一用Promise!
73 0
|
前端开发
对promise的理解分享
对promise的理解分享
|
前端开发
什么是promise,解决了什么
什么是promise,解决了什么
153 0
|
前端开发 JavaScript
深入理解Promise
深入理解Promise
88 0
|
前端开发
Promise
Promise
90 0
|
前端开发 数据库
promise的介绍
promise的介绍
106 0
|
前端开发 API
对promise的一点了解
所谓 Promise,就是一个对象,用来传递异步操作的消息。它代表了某个未来才会知道结果的事件(通常是一个异步操作),并且这个事件提供统一的 API,可供进一步处理。
111 0