Promise简明代码记录

2024-08-29 12:44
文章标签 代码 记录 promise 简明

本文主要是介绍Promise简明代码记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Promise讲解

个人感觉讲的比较好的,忘记了可以反复听~忘记了主要是写的少~忘了就敲一敲吧

常见的异步:Ajax和定时器

Promise是一个类,构造函数,参数接2个行参

Promise是有状态的,前端可以打印查看

resolve

const p1 = new Promise((resolve,reject)=>{resolve("P1 任务成功得到的数据");    
})
p1.then(data=>{console.log(data);
}).catch(err =>{console.log(err);
})//打印为P1 任务成功得到的数据

reject

const p2 = new Promise((resolve,reject)=>{     reject("P2 任务失败得到的数据")
})
p2.then(data=>{console.log(data);
}).catch(err =>{console.log(err);
})// 打印为P2 任务失败得到的数据

2 个异步任务

新的promise写到then里,第二个then处理第一个then种promise返回的对象

const p3 = new Promise((resolve,reject)=>{     resolve("P3 任务成功得到的数据")    
})
p3.then(data=>{console.log(data);return new Promise((resolve,reject)=>{resolve("P4 任务成功得到的数据");    })
}).then(data=>{console.log(data);
})// 打印为
// P3 任务成功得到的数据
// P4 任务成功得到的数据

2个异步任务,第一个出错用catch

const p5 = new Promise((resolve,reject)=>{     reject("P5 任务失败得到的数据")    
})
p5.then(data=>{return new Promise((resolve,reject)=>{resolve("P6 任务成功得到的数据");    })
})
.then(data=>{console.log(data);
})
.catch(err=>{console.log(err)
})//打印为P5 任务失败得到的数据

2个异步任务,失败利用err(如果有err,就不会走catch)

const p5 = new Promise((resolve,reject)=>{     reject("P5 任务失败得到的数据")    
})
p5.then(data=>{return new Promise((resolve,reject)=>{resolve("P6 任务成功得到的数据");    })
},err => {    console.log(err);
})
.then(data=>{console.log(data);
})//打印结果为: P5 任务失败得到的数据

Async&await

// 准备一个返回promise的对象函数
function asyncTask () {return new Promise((resolve,reject)=>{const isSuccess = true;if(isSuccess){resolve("成功")}else{reject("失败")}})
}
// 为使用await的函数添加async
async function main() {const data = await asyncTask();console.log(data);
}

这篇关于Promise简明代码记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1117898

相关文章

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件

代码随想录冲冲冲 Day39 动态规划Part7

198. 打家劫舍 dp数组的意义是在第i位的时候偷的最大钱数是多少 如果nums的size为0 总价值当然就是0 如果nums的size为1 总价值是nums[0] 遍历顺序就是从小到大遍历 之后是递推公式 对于dp[i]的最大价值来说有两种可能 1.偷第i个 那么最大价值就是dp[i-2]+nums[i] 2.不偷第i个 那么价值就是dp[i-1] 之后取这两个的最大值就是d

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

D4代码AC集

贪心问题解决的步骤: (局部贪心能导致全局贪心)    1.确定贪心策略    2.验证贪心策略是否正确 排队接水 #include<bits/stdc++.h>using namespace std;int main(){int w,n,a[32000];cin>>w>>n;for(int i=1;i<=n;i++){cin>>a[i];}sort(a+1,a+n+1);int i=1

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

html css jquery选项卡 代码练习小项目

在学习 html 和 css jquery 结合使用的时候 做好是能尝试做一些简单的小功能,来提高自己的 逻辑能力,熟悉代码的编写语法 下面分享一段代码 使用html css jquery选项卡 代码练习 <div class="box"><dl class="tab"><dd class="active">手机</dd><dd>家电</dd><dd>服装</dd><dd>数码</dd><dd