JavaScript Promise 教程 - 如何在 JS 中解决或拒绝 Promise
JavaScript Promise Tutorial – How to Resolve or Reject Promises in JShttps://www.freecodecamp.org/news/javascript-promise-tutorial-how-to-resolve-or-reject-promises-in-js/
Promise
是 JavaScript 中异步操作的重要组成部分。你可能认为 Promise 不是那么容易理解、学习和使用的。相信我,你并不孤单!
对于许多 Web 开发人员来说,Promise 具有挑战性,即使在与他们合作多年之后也是如此。
在本文中,我想尝试改变这种看法,同时分享我在过去几年中对 JavaScript Promise 的了解。希望你觉得它有用。
JavaScript 中的 Promise 是什么?
Promise
是一个特殊的 JavaScript 对象。它在asynchronous
(又名异步)操作成功完成后产生一个值,如果由于超时、网络错误等原因未能成功完成,则产生一个错误。
成功的调用完成由resolve
函数调用指示,错误由reject
函数调用指示。
你可以像这样使用 Promise 构造函数创建一个 Promise:
let promise = new Promise(function(resolve, reject) { // Make an asynchronous call and either resolve or reject
});
在大多数情况下,promise 可以用于异步操作。但是,从技术上讲,您可以解决/拒绝同步和异步操作。
等等,我们没有callback
异步操作的功能吗?
哦是的!那就对了。我们callback
在 JavaScript 中有函数。但是,回调在 JavaScript 中并不是什么特别的东西。它是一个常规函数,在调用完成后产生结果asynchronous
(成功/错误)。
“异步”这个词意味着将来会发生某些事情,而不是现在。通常,回调仅在执行网络调用、上传/下载内容、与数据库通信等操作时使用。
虽然callbacks
很有帮助,但它们也有很大的缺点。有时,我们可能在另一个回调中包含一个回调,而另一个回调又在另一个回调中,依此类推。我是认真的!让我们通过一个例子来理解这个“回调地狱”。
如何避免回调地狱——PizzaHub 示例
让我们从 PizzaHub 订购 Veg Margherita 披萨
JavaScript Promise 教程 - 如何在 JS 中解决或拒绝 Promise相关推荐
- JavaScript 日期比较——如何在 JS 中比较日期
日期是开发人员在创建实际应用程序时最常用的数据类型之一. 但通常,开发人员会在这种数据类型上苦苦挣扎,最终使用像 Moment.js 这样的日期库来完成简单的任务,这些任务不值得安装整个包所带来的大包 ...
- 【javascript基础——系列10】js中隐藏元素的几种方法以及代码
系列文章 [javascript基础--系列1]前端页面ajax连接后台服务器传输数据 [javascript基础--系列2]前端页面axios连接后台服务器传输数据 [javascript基础--系 ...
- 如何在JS中应用正则表达式
背景:在之前的随笔中写过C#中如何使用正则表达式,这篇随笔主要讲如何在js中应用正则表达式 如下代码: 1 $("#zhengze").click(function () { 2 ...
- vue js中解决二进制转图片显示问题
一:问题 工作中碰到的问题,在处理接口返回的验证码图片时,由于返回的是encode编码代码,在js端获取到数据之后,通过函数encodeURI()来进行解码,之后可以通过在src中设置来实现图片显示: ...
- cad细等线体不显示_CAD技法大全,如何在CAD中解决好部分图元无法正常显示的问题 ?...
CAD技法大全,CAD技法大全,如何在CAD中解决好部分图元无法正常显示的问题 ? 在导入CAD的时候,我们通常会遇到各种各样的问题,很多时候都不知道如何解决,这个时候不要着急,静下心来想想,自己以前 ...
- was服务器里面jar包_如何在was中解决jar包冲突
如何在 was 中解决 jar 包冲突 大型的基于 WebSphere 的项目开发中,同一个 WebSphere Application Server (以下 简称 WAS ) 上会部署多个应用程序, ...
- PowerPoint 教程:如何在 PowerPoint 中从大纲创建演示文稿?
PowerPoint 教程:如何在 PowerPoint 中从大纲创建演示文稿? 欢迎观看 Microsoft PowerPoint 教程,带大家学习 PowerPoint 的使用技巧,了解如何在 P ...
- dota2html颜色代码,技术向教程 如何在DotA2中使用彩色字体
技术向教程 如何在DotA2中使用彩色字体 编译:M82A1炸菜 如何使用16进制编辑器对DotA2文字就行颜色编辑 需要:十六进制编辑器.记事本.控制台 1.打开steam平台 2.在游戏库中选择D ...
- xd怎么做页面滑动_XD教程 | 如何在XD中制作拖拽手势”
原标题:XD教程 | 如何在XD中制作"拖拽手势" 今日主题:设计一个滑动交互 使用工具:Adobe XD 预计时长:1-2分钟 实用指数:★★★★★ 难度系数:★ 本期教程,我们 ...
最新文章
- 20个 css3 html5 设计工具
- inspinia前端模板怎样编写消息提示框点击确定后的回调方法
- 前端学习(1913)vue之电商管理系统电商系统之创建user分支并把代码推到码云
- android竖直和横向,如何在android中为纵向和横向模式定义不同的控件
- 苹果x和xsmax有什么区别_苹果手机不卡的真相是什么,安卓和iOS有本质区别
- 构建嵌入式linux系统_用于构建嵌入式Linux系统的4种工具
- C++ 变量和常量
- console.log()注意事项。
- 计算机标准差平方差怎么按,数学标准差公式
- 2018-04-24-c-gluttonous-snake 财务同比环比、SSH和SSM
- 边云协同,边缘云更出彩
- Python: 异常处理
- MSRA-TD500数据集坐标转换
- Linux2.6.33下ZC301USB摄像头使用教程
- 八码数 · 哈希+BFS
- matlab怎么标注极限,求助注释一段MATLAB极限腐蚀程序
- Quartus II编译时出现Error (119013): Current license file does not support the EP4CE6E22C6 device
- 【成长必备】我为什么推荐你写博客?愿你多年以后成为你想成为的样子。
- SOLIDWORKS建立参数化模型基本原则
- xp系统蓝屏代码7b_如何解决U盘安装WindowsXP系统出现蓝屏并提示oxoooooo7b错误代码...
热门文章
- python完成“疯狂填词”程序。
- Vulnhub靶场——Hacker_Kid-v1.0.1
- 社群裂变的低成本玩法及其能力是什么?
- 利用MATLAB确定幅值裕度和相角裕度:margin命令
- java 对象能跨类吗,java_SE类和对象
- 超出的字用省略号来代替
- 计算机单元格复制,2010年职称计算机考试:单元格区域的复制和移动
- 那个信奉“人沉静时智慧升起”的思想者
- linux内核-X86CPU对中断的硬件支持
- 欧几里德 和 拓展欧几里德算法