如何快速掌握Promise扫盲知识?
- 内容介绍
- 文章标签
- 相关推荐
本文共计827个文字,预计阅读时间需要4分钟。
使用 `then` 函数可以返回另一个 `Promise`。例如:
javascriptconst p1=new Promise((resolve, reject)=> { resolve('p1');});
const p2=new Promise((resolve, reject)=> { setTimeout(()=> { resolve('p2'); }, 3000);});
p1.then(res=> { console.log(res); return p2;}).then(()=> { console.log('p2 resolved');});
then
then函数可以return另一个promise:
const p1 = new Promise((resolve, reject) =>{ resolve('p1') }) const p2 = new Promise((resolve, reject) =>{ setTimeout(() =>{ resolve('p2') },3000) }) p1.then(res => { console.log(res) return p2 }).then(res =>{ // p2 resolve后才执行 console.log(res) }) //p1 // 3s后输出... // p2
那么这个p2就会代替当前p1的状态,等到新的p2的状态修改时,下一个then才会执行
catch
1. 作用
可以捕获到promise程序执行中的error,等同于 .then(null, rejection) 或 .then(undefined, rejection)
2. 可以获取到的错误
promise函数体中抛出的error。
本文共计827个文字,预计阅读时间需要4分钟。
使用 `then` 函数可以返回另一个 `Promise`。例如:
javascriptconst p1=new Promise((resolve, reject)=> { resolve('p1');});
const p2=new Promise((resolve, reject)=> { setTimeout(()=> { resolve('p2'); }, 3000);});
p1.then(res=> { console.log(res); return p2;}).then(()=> { console.log('p2 resolved');});
then
then函数可以return另一个promise:
const p1 = new Promise((resolve, reject) =>{ resolve('p1') }) const p2 = new Promise((resolve, reject) =>{ setTimeout(() =>{ resolve('p2') },3000) }) p1.then(res => { console.log(res) return p2 }).then(res =>{ // p2 resolve后才执行 console.log(res) }) //p1 // 3s后输出... // p2
那么这个p2就会代替当前p1的状态,等到新的p2的状态修改时,下一个then才会执行
catch
1. 作用
可以捕获到promise程序执行中的error,等同于 .then(null, rejection) 或 .then(undefined, rejection)
2. 可以获取到的错误
promise函数体中抛出的error。

