两个小问题

来源:10-4 -4 取消功能的设计和实现 - demo 编写

慕粉6137024

2021-03-22

问题1:我这里竟然会报报错,改成红框里的就不会了。 图片描述

问题2:异步分离跟星型函数(generator)的yield是不是有类似的作用~,毕竟generator也可以拆分异步操作

写回答

1回答

ustbhuangyi

2021-03-24

异步分离包含两个概念
异步:Promise 实现异步,创建了一个 Promise,只要这个 Promise 不 resolve,那么后续的逻辑都不会执行。
分离,主要是体现在逻辑分离在不同的代码文件中,CancelToken 模块内部维护了这个 promise,然后在发请求的时候携带这个 cancelToken,那么就可以在 xhr 模块中访问到这个 priomise,并且实现它的 then 逻辑,就是取消请求。

那么在外部,我们就随时可以执行取消操作,也就是让这个 promise resolve,实现请求取消。

3
4
ustbhuangyi
回复
慕粉6137024
async await 本质上就是通过 promise 实现的
2021-03-24
共4条回复

下一代前端开发语言 TypeScript从零重构axios

课程从零开始重构功能完整的JS库,是学习造轮子的不二之选!

2629 学习 · 877 问题

查看课程