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)
目录
打赏
0
0
1
0
29
分享
相关文章
说说你对 promise 的了解
说说你对 promise 的了解
60 0
|
9月前
|
对Promise的理解
对Promise的理解
66 2
深入使用 Promise
前面各种铺垫已经好了,现在我们一起来用一用Promise!
86 0
Promise使用详解
JS查漏补缺系列是我在学习JS高级语法时做的笔记,通过实践费曼学习法进一步加深自己对其的理解,也希望别人能通过我的笔记能学习到相关的知识点。这一次我们来了解Promise使用详解
128 0
对promise的一点了解
所谓 Promise,就是一个对象,用来传递异步操作的消息。它代表了某个未来才会知道结果的事件(通常是一个异步操作),并且这个事件提供统一的 API,可供进一步处理。
121 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等