网站首页 > 教程文章 正文
promise基本使用
第一步
<script>
console.log(Promise);
</script>
说明这个是原生的API,我们可以直接去使用
首字母大写,说明是一个构造函数
第二步
<script>
var obj = new Promise()
</script>
第三步
<script>
var obj = new Promise(function(){})
console.log(obj);
</script>
第四步
<script>
var obj = new Promise(function (succes, error) {
succes('成功的结果')
})
console.log(obj);
</script>
第五步
<script>
var obj = new Promise(function (succes, error) {
error('出错了')
})
console.log(obj);
</script>
第六步
第七步
<script>
var obj = new Promise(function (succes, error) {
error('出错了')
})
obj.then(function(){console.log(1)},function(){console.log(2)})
</script>
第八步
<script>
var obj = new Promise(function (succes, error) {
error('出错了')
})
obj.then(function(result){console.log(result)},function(error){console.log(error)})
</script>
第九步
promise解决回调地狱的问
- 第一步、先简单一点理解,不考虑error的情况
obj.then的返回值还是一个promise对象
- 第二步
第三步、封装成函数(函数名叫p比较好)
最后catch可以只写一个
理解promise:包装回调函数
promise的问题:虽然解决了回调地狱的问题,但写法还是稍微有一点繁琐
异步函数的用法
如何代码可以如下的写法,这才是最像我们的同步写法的,最简洁明了直观
第一步
第二步、
第三步、
这样写不可以,因为是异步的
第四步、
async函数中可能会有 await 表达式,async 函数执行时,如果遇到 await 就会先暂停执行 ,等到触发的异步操作完成后,恢复 async 函数的执行并返回解析值。
第五步、
异步函数的应用(了解)
————————————————
版权声明:本文为CSDN博主「fengchen753951」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
https://blog.csdn.net/weixin_49375914/java/article/details/107392330
猜你喜欢
- 2025-05-30 ES6学习(17):彻底搞懂 async 和 await,轻松掌握异步编程!
- 2025-05-30 碎片时间学编程「07」:JavaScript 中的异步数组循环
- 2025-05-30 Promise.all() 并行处理多个异步任务
- 2025-05-30 Vue.js 中的异步组件是什么?
- 2025-05-30 Node.js全栈开发的深度实践:从异步编程到云原生架构
- 2025-05-30 js异步编程之async/await详解
- 2025-05-30 JavaScript 异步编程指南 - 聊聊 Node.js 中的事件循环
- 2025-05-30 JavaScript异步编程Async/Await详解
- 2025-05-30 深入解析 JavaScript 中的 Promise 与 await:异步编程的利器
- 2025-05-30 一个JavaScript技巧让异步代码同步化,太强大了
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- mybatis plus page (35)
- vue @scroll (38)
- 堆栈区别 (33)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)
- redis aof rdb 区别 (33)
- 302跳转 (33)
- http method (35)
- js array splice (33)