第六周(10.21-10.27)学习笔记 24软工陈奕君

学习收获:学习了Ajax,使用bootstrap开发了一个网页,并使用学习使用了git上传到了gitee还有github

学习笔记:

异步处理:

Promise:代表一个异步操作的最终完成(成功 fulfilled)或失败(rejected)及其结果值。它是一种封装异步状态和结果的容器。

状态:

pending:初始状态(进行中)。

fulfilled:操作成功完成。

rejected:操作失败。

创建:CONST a = new Promise(function(resolve, reject) => { /* 异步操作 */ })

pedding->初始状态:调用promise时,一开始就呈现出等待状态,遇到resolve或者reject之前,都处于这个状态,且可以改变,但如果确定了状态(fulfilled/reject),则结果将永远不变,不能再次修改

fulfilled->成功状态:在执行了resolve后,promise则会从pedding变成fulfilled,后续会进入.then 的回调函数中,在回调函数的第一个参数函数中可以获取到值

rejected->失败状态:在执行了reject后,promise状态会变成rejected,rejected函数传递的参数,可以在.then的第二个参数函数中获取的到,或者是在.catch获取到,但是如果程序上的错误,得通过.catch函数去拿到失败消息,在.then中是获取不了的

使用 .then(onFulfilled, onRejected) 方法添加处理函数(也可单独用 .catch(onRejected)处理错误 .then() 返回一个新的 Promise,支持链式调用。.finally() 无论成功失败都执行。

一般异常用.catch。拒绝状态用.then

async / await:基于 Promise 的异步编程终极解决方案

本质: async 和 await 是建立在 Promise 之上的语法糖,目的是让异步代码看起来和书写起来更像同步代码,极大提升可读性和可维护性。

async 关键字: 用于声明一个异步函数。async function myAsyncFn() {...}。调用 async 函数总是返回一个 Promise 对象。如果函数内显式返回一个值,该值会被包装成一个 resolved 的 Promise;如果函数内抛出异常,会返回一个 rejected 的 Promise。

await 关键字: 只能在 async 函数内部使用。await promiseExpression;。它会暂停 async 函数的执行,等待后面的 Promise 完成(resolve 或 reject):

如果 Promise 成功 resolve,await 返回其 resolved 的值。

如果 Promise 被 reject,await 会抛出这个异常值(可以使用 try...catch 捕获)。

核心优势:

代码结构完全同步化,告别回调嵌套和 then 链。

使用熟悉的 try...catch 进行错误处理,逻辑更清晰。

控制流(条件判断、循环)写法和同步代码完全一致。

注意: 滥用 await 可能会导致不必要的顺序执行(本该并行的请求变成串行),此时应结合 Promise.all() 等。


第六周(10.21-10.27)学习笔记 24软工陈奕君
http://localhost:8090//archives/di-liu-zhou-10.21-10.27-xue-xi-bi-ji-24ruan-gong-chen-yi-jun
作者
陈奕君
发布于
2025年10月27日
许可协议