如何快速掌握Promise扫盲知识?

更新于
2026-10-03 05:18:19
0阅读来源:SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计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。

阅读全文