现在的位置: 首页 > web前端 > 正文

promise是什么意思

2020年07月21日 web前端 ⁄ 共 1070字 ⁄ 字号 评论关闭

  ePromise是异步编程的一种解决方案,可以在对象之间传递和操作promise,帮助我们处理队列。


  promise是什么?


  1、主要用于异步计算


  2、可以将异步操作队列化,按照期望的顺序执行,返回符合预期的结果


  3、可以在对象之间传递和操作promise,帮助我们处理队列


  为什么会有promise?


  为了避免界面冻结(任务)


  同步:假设你去了一家饭店,找个位置,叫来服务员,这个时候服务员对你说,对不起我是“同步”服务员,我要服务完这张桌子才能招呼你。那桌客人明明已经吃上了,你只是想要个菜单,这么小的动作,服务员却要你等到别人的一个大动作完成之后,才能再来招呼你,这个便是同步的问题:也就是“顺序交付的工作1234,必须按照1234的顺序完成”。


  异步:则是将耗时很长的A交付的工作交给系统之后,就去继续做B交付的工作,。等到系统完成了前面的工作之后,再通过回调或者事件,继续做A剩下的工作。


  AB工作的完成顺序,和交付他们的时间顺序无关,所以叫“异步”。


  异步操作的常见语法


  事件监听


  document.getElementById('#start').addEventListener('click',start,false);


  functionstart(){


  //响应事件,进行相应的操作


  }


  //jqueryon监听


  $('#start').on('click',start)


  回调


  //比较常见的有ajax


  $.ajax('http://www.wyunfei.com/',{


  success(res){


  //这里可以监听res返回的数据做回调逻辑的处理


  }


  })


  //或者在页面加载完毕后回调


  $(function(){


  //页面结构加载完成,做回调逻辑处理


  })


  有了nodeJS之后...对异步的依赖进一步加剧了


  大家都知道在nodeJS出来之前PHP、Java、python等后台语言已经很成熟了,nodejs要想能够有自己的一片天,那就得拿出点自己的绝活:


  无阻塞高并发,是nodeJS的招牌,要达到无阻塞高并发异步是其基本保障


  举例:查询数据从数据库,PHP第一个任务查询数据,后面有了新任务,那么后面任务会被挂起排队;而nodeJS是第一个任务挂起交给数据库去跑,然后去接待第二个任务交给对应的系统组件去处理挂起,接着去接待第三个任务...那这样子的处理必然要依赖于异步操作。


  总之,promise给大家简单的介绍了一些,希望大家多看看。

抱歉!评论已关闭.