文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

web前端:解决异步的几种实现方式

编程小独行侠

编程小独行侠

2024-04-23 23:23

关注

  异步双方不需要共同的时钟,也就是接收方不知道发送方什么时候发送,所以在发送的信息中就要有提示接收方开始接收的信息,如开始位,同时在结束时有停止位。

  解决异步的几种实现方式

  如下代码

  constrequest=function(){

   letnum=Math.round(Math.random()*100)/100;

   console.log(num);

  setTimeout(function(){

   if(num<0.5){

   return('1234567');

   }else{

   return('abcdefg');

   }

   },500)

  }

  console.log(request())

  //输出:0.31

  //undefined

  setTimeout为异步函数,所以第二个返回值就打印为了undefined,因为不会等待计时器函数执行完成再执行外层的console.log(request())。

  1、promisethen

  //解决方法一:promisethen

  constrequest=function(){

   var_this=this;

   letnum=Math.round(Math.random()*100)/100;

   console.log(num);

   returnnewPromise((resolve,reject)=>{

   setTimeout(function(){

   num<0.5?resolve('1234567'):reject('abcdefg');

   },500);

   });

  }

  request().then(val=>{

   console.log(val);

  }).catch(err=>{

   console.log(err);

  });

  2、回调函数

  constrequest=function(cb){

   letnum=Math.round(Math.random()*100)/100;

   console.log(num);

  setTimeout(function(){

   num<0.5?cb('1234567'):cb('abcdefg');

   },500)

  }

  varresult=request(function(res){

   console.log(res);

  })

  3、asyncawait

  constrequest=asyncfunction(){

   letnum=Math.round(Math.random()*100)/100;

   console.log(num);

  constresult=awaitaa(num);

  }

  functionaa(num){

   setTimeout(function(){

   console.log(num<0.5?'1234567':'abcdefg');

   },500)

  }

  request();

  异步的另外一种含义是计算机多线程的异步处理。与同步处理相对,异步处理不用阻塞当前线程来等待处理完成,而是允许后续操作,直至其它线程将处理完成,并回调通知此线程。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯