当前位置: 首页 > news >正文

消防中队网站建设图片预览网站 末班

消防中队网站建设,图片预览网站 末班,阿里云建站论坛网站,自己做一网站目录 1、编程语言中的异步 2、JavaScript 3、回调 #xff13;.#xff11;在回调中处理错误 #xff13;.#xff12;回调的问题 #xff13;.#xff12;回调的替代方案 1、编程语言中的异步 默认情况下#xff0c;JavaScript是同步的#xff0c;并且是单线程…目录 1、编程语言中的异步 2、JavaScript 3、回调 .在回调中处理错误 .回调的问题 .回调的替代方案 1、编程语言中的异步 默认情况下JavaScript是同步的并且是单线程的。这意味着代码不能创建新的线程并并行运行。了解异步代码的含义及其外观 计算机在设计上是异步的。 异步意味着事情可以独立于主程序流发生。 在当前的消费者计算机中每个程序都在特定的时间段内运行然后停止执行让另一个程序继续执行。这东西以如此之快的速度循环运行以至于不可能被注意到。我们认为我们的计算机同时运行许多程序但这只是一种幻觉在多处理器机器上除外。 程序内部使用中断这是一种发送到处理器以引起系统注意的信号。 现在我们不讨论它的内部内容但请记住程序异步并在需要注意之前停止执行是正常的这样计算机就可以同时执行其他事情。当程序正在等待来自网络的响应时在请求完成之前它无法停止处理器。 通常编程语言是同步的有些语言提供了一种管理语言中异步性或通过库来管理异步性的方法。C、 默认情况下Java、C#、PHP、Go、Ruby、Swift和Python都是同步的。其中一些通过使用线程来处理异步操作从而生成新的进程。 2、JavaScript 默认情况下JavaScript是同步的并且是单线程的。这意味着代码不能创建新的线程并并行运行。 // 代码行一行接一行地串行执行例如 const a 1; const b 2; const c a * b; console.log(c); doSomething(); 但JavaScript来源于浏览器内部其主要工作一开始是响应用户操作如onClick、onMouseOver、onChange、onSubmit等。它如何使用同步编程模型来做到这一点 答案在于它所处的环境。浏览器通过提供一组可以处理此类功能的API提供了一种实现这一点的方法。 最近Node.js引入了一个非阻塞I/O环境将这一概念扩展到文件访问、网络调用等。 3、回调 您无法知道用户何时要单击某个按钮。因此您为单击事件定义了一个事件处理程序。此事件处理程序接受一个函数该函数将在触发事件时调用 document.getElementById(button).addEventListener(click, () {// item clicked }); 这就是所谓的回调。 回调是一个简单的函数它作为值传递给另一个函数并且只有在事件发生时才会执行。我们之所以能做到这一点是因为JavaScript具有一流的函数这些函数可以分配给变量并传递给其他函数称为高阶函数 通常将所有客户端代码封装在窗口对象上的加载事件侦听器中该侦听器仅在页面准备就绪时运行回调函数 window.addEventListener(load, () {// window loaded// do what you want }); 回调在任何地方都可以使用而不仅仅是在DOM事件中。 一个常见的例子是使用计时器 setTimeout(() {// runs after 2 seconds }, 2000); XHR请求也接受回调在本例中通过将函数分配给在特定事件发生时将被调用的属性在这种情况下请求的状态会发生变化 const xhr new XMLHttpRequest(); xhr.onreadystatechange () {if (xhr.readyState 4) {xhr.status 200 ? console.log(xhr.responseText) :console.error(error);} }; xhr.open(GET, https://yoursite.com); xhr.send(); .在回调中处理错误 如何处理回调错误一个非常常见的策略是使用Node.js所采用的方法任何回调函数中的第一个参数都是error对象然后是回调数据。 如果没有错误则该对象为null。如果出现错误它会包含一些错误描述和其他信息。 const fs require(fs); fs.readFile(/file.json, (err, data) {if (err) {// handle errorconsole.log(err);return;} // no errors, process dataconsole.log(data); }); .回调的问题 回调非常适合简单的案例 然而每次回调都会添加一定程度的嵌套当您有很多回调时代码会很快变得复杂 window.addEventListener(load, () {document.getElementById(button).addEventListener(click, () {setTimeout(() {items.forEach(item {// your code here});}, 2000);}); }); 这只是一个简单的4级嵌套代码但我想到了更多级别的嵌套情况。 .回调的替代方案 从ES6开始JavaScript引入了几个功能帮助我们处理不涉及使用回调的异步代码 PromisesES6和 Async/AwaitES2017。
http://www.hkea.cn/news/14340769/

相关文章:

  • 学做网站学费常州抖音seo
  • 后台管理网站名产品素材网站
  • 口红做网站多少钱高清视频服务器
  • 做网站怎么上词wordpress 写作主题
  • 有了源码怎么做网站公司黄页是什么意思
  • 上海网站设计团队wordpress更改作者
  • 正能量软件不良网站下载制作游戏网站公司
  • 做儿童网站如何撰写一个网站规划建设方案
  • 海尔建设此网站的目的郑青松找谁做的网站
  • 芜湖做的好的招聘网站wordpress 评论 姓名
  • 做电商网站一般需要什么流程帝国手机网站怎么做
  • 浙江耀华建设集团网站建立个人网站要钱吗
  • 制作精美网站建设服务周到wordpress实现mp4播放器
  • wordpress 顶部工具栏苏州优化平台
  • 怎么做视频解析的网站建筑模板规格
  • 奉贤北京网站建设丹阳网站推广
  • iis网站权限怎么设置手机怎么创建链接网址
  • 寿光建设集团网站怎么做图片网站
  • 营销型网站建设细节wordpress图片显示
  • 开发网站监控平台北京市建设质量监督网站
  • 网站建设与管理主要学什么8x2558xcom直接观看
  • 做网站引用别人的图片长沙网站建
  • 如何免费注册网站平台分销网站系统
  • 什么网站可以做认证销售培训课程一般有哪些
  • 做网站哪个好单位网站建设情况调查情况
  • 网站建设的目的和目标科技公司网站设计
  • 网站域名如何实名认证鞭打wordpress
  • 设计公司 网站淘宝客是如何做网站与淘宝对接的
  • 游戏网站模板小程序设计案例
  • 宁波网站建设wordpress 搭建vultr