问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

什么是javascript异步编程

发布网友 发布时间:2022-05-06 08:55

我来回答

2个回答

热心网友 时间:2022-04-22 11:48

Winter is a cold season. Though the temperature is very low,but I like it ,I can play with my frends in the playground .I think I can watch TV at home instead of walking outside .So I like winter,because I can do something which is interesting.

热心网友 时间:2022-04-22 13:06

我觉得吧,javascript在浏览器里运行的时候,涉及到异步编程的场景大多数是与用户交互,或者与服务器交互


那么假设与用户交互的异步编程,举个代码例子

<html>
  <body>
    <input type="text" id="input">
    <button type="button" id="btn">提交</button>
    
    <script>
      // 1 这里的代码会立即运行
      var input = document.getElementById('input');
      var btn = document.getElementById('btn');
      
      btn.onclick = function(){
        // 2 这里的代码只有在用户点击提交按钮的时候才执行
        alert('提交文本:' + input.value);
      };
    </script>
  </body>
</html>

这里的2 代码,就是我们的程序要等用户点击某个按钮或者达到某个条件才会运行,

并不会直接 像1的代码会直接运行,因为我们的程序在自己运行,和浏览器交互的时候是可以同步运行并且立即得到结果

但是涉及到与用户交互的时候,我们是不知道用户会在什么时候输入文本,也不知道用户会在什么时候点击按钮,或者做别的什么操作,我们只能是先做好等待处理的方法,也就是`当发生了什么事,然后做什么`,就像上面`btn.onclick` 就是当用户点击它(button)的时候,做什么


在一个与服务器交互的例子

<html>
  <body>
    <button type="button" id="btn">加载</button>
    <script src="jquery.js"></script>
    <script>
      // 1
      var btn = $('#btn');
      btn.on('click' , function(){
            // 2
            $.ajax({
                  url : 'path/to/server',// 这里访问服务器的某接口
                  success : function(response){
                    // 3 当服务器处理完成时,会执行此处的代码
                    // 服务器处理完成后,如果会有返回内容,这个内容
                    // 就会放到这个response变量里
                    alert('服务器响应:' + response);
                  },
                  error : function(){
                    //4 当服务器发生错误,或者网络发生错误时,执行此处代码
                  }
            });
      });
    </script>
  </body>
</html>

同上面例子的1和2,当用户点击按钮之后,我们通过程序向服务器调用某个接口

这个过程默认将独立与当前的执行线程(也就是异步),大概步骤会有浏览器接收到我们要请求服务器的信号,并且发送请求信号给服务器,服务器接收到请求,然后服务器处理,然后处理完成/失败,然后通知浏览器,然后浏览器返回给我们结果,然后我们就可以在 成功(success)或者失败(error)里面得到对应的通知


所以,javascript的异步编程就是指

// 操作。。。
onxxx = function(){//当发生什么事如(onclick , onmouseover等等。。)
  // 做什么操作
}
// 操作

我们要做很多类似这样的*,当发生什么事的时候,通知我,我好知道什么时候来做什么事大概就是这样

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
姐妹们,哥伦比亚的徒步鞋怎么样?下个月就要去吴越古道户外徒步旅行... 徒步装备选哪个牌子好 徒步小白上线!想问问大神们徒步鞋哥伦比亚户外活动性能如何?方便吗? 去医院怎么检查自己缺钙和缺维生素? 查缺钙做什么检查 骨骼缺钙怎么检查 检查缺钙查什么 joryaweekend是什么牌子 剪映在那里修改视频尺寸 剪映如何修改视频画面尺寸 修改视频画面尺寸方法分享 调节笔记本屏幕亮度的软件有么 关于成语故事新编 一定要新编的,恳求! 有没有调节笔记本屏幕亮度的软件? 为什么手机通过微信支付 而且不用手机直接支付? 贵妇丹护肤5件套怎么用 贵妇丹化妆品好不好用 深圳市招商银行公积金银行卡的原始密码是什么? 公积金银行卡个人密码是多少 中国银行广东长城公积金联名卡初始密码怎么设置的 住房公积金联名卡怎么激活设置密码 住房公积金联名卡怎么激活设置密码? 为什么苹果5s有些打电话打过来没有挂机键 为什么iPhone黑屏状态来电没有挂断键 为什么iPhone 有时候来电的时候没有挂断的按钮,但有的时候就有红色的挂断按钮。 为什么苹果手机来电,有些电话打过来的时候只有接听的操作,没有挂断的操作 用结束任务来关闭好方便哦,对电脑有影响吗? 台式电脑如何结束当前应用 使用电脑时按ctrl alt del键结束当前的任务时,会不会对电脑有伤害? windows任务管理结束任务对电脑有影响吗? 电脑关机时要结束任务怎么回事? 成语故事:新版打草惊蛇的故事 求教有没有强制控制笔记本屏幕亮度的软件 求几个新编的成语故事!!!希望大家帮忙一下! 笔记本屏幕亮度软件 ajax技术中:异步javascript和xml 异步是什么意思? 如何通过软件调节笔记本电那电脑的屏幕亮度? 平板电脑玩QQ麻将老是死机,什么原因? 关于成语故事新编 玩QQ麻将的时候电脑死机 我是小白,想学点JavaScript的技术,但是不知道怎么下手,想咨询各位有... 成语故事新编:毛遂自荐 望梅止渴 如何把javascript的异步API变成为同步的? 电脑运行QQ麻将 出牌缓慢 求新编的成语故事,简单的,可以画漫画的。 成语故事新编500字左右 我是一个有一定JavaScript基础的小白(一点!)想学Java,求大神教!!! 新编成语故事《拔苗助长》 适合婴幼儿听赏的四字成语故事新编 成语故事新编怎么写? QQ麻将更新后,提示文件被占用,要求重启电脑后再次更新