异步处理、数据请求与浏览器存储
HTML、CSS 与 JavaScript 基础#Python全栈#第七阶段#HTML、CSS 与 JavaScript 基础#异步处理、数据请求与浏览器存储约 833 字 · 2 分钟阅读
追问显示点击任意追问卡片可收起 / 展开
同步执行与异步执行有什么区别?
追问 网络等待与大量计算分别会怎样影响界面响应?为什么使用 async 函数不意味着计算自动在后台线程运行?
Promise 有哪些状态,then、catch 与 finally 怎样配合?
追问 链式回调中忘记返回结果或 Promise,会如何影响后续步骤与错误处理?
async 与 await 如何简化异步逻辑?
追问 async 函数返回什么?怎样捕获等待过程中的异常,又保证加载状态最终清理?
浏览器任务、微任务与计时器之间怎样安排执行?
追问 在同一段普通脚本中依次注册零延迟计时器与已兑现 Promise 回调,再同步输出日志,如何解释顺序?零延迟是否保证立即执行?
两个互不依赖的请求应串行等待还是并行发起?
追问
Promise.all 与 Promise.allSettled 怎样表达不同失败策略?其中一个失败是否自动取消其他请求?如何用 fetch 获取 JSON 数据并更新页面?
追问 HTTP 404、网络失败与 JSON 解析失败分别怎样处理?为什么不能只依靠
catch 判断所有请求是否成功?怎样向后端提交 JSON、查询参数与文件数据?
追问
JSON.stringify、URLSearchParams 与 FormData 各适合什么场景?上传 FormData 时为什么通常不手写 multipart 边界?搜索框快速连续输入时,如何减少请求并防止旧结果覆盖新结果?
追问 防抖、请求序号校验与
AbortController 分别解决什么问题?取消请求为何不等于服务端操作已经回滚?浏览器提示跨域错误,而命令行请求成功,怎样初步分析?
追问 怎样区分服务端响应失败与浏览器限制读取响应?为什么
mode: 'no-cors' 通常不能让页面正常读取跨域 JSON?localStorage 与 sessionStorage 可以怎样保存页面偏好?
追问 存储值是什么类型,怎样序列化与恢复?访问受限、数据损坏或版本变化时怎样处理,为什么不应默认把敏感凭据放进去?
核对资料: WHATWG Fetch 标准。