JavaScript异步
文章平均质量分 92
刘家军
但求卓越,不谋哗众
展开
-
JavaScript异步之回调
回调函数 JavaScript的函数其实都指向某个变量。既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数,而这个过程就叫做回调 举一个常用的例子:约会结束了,你送女朋友回家,你说:“到家了别忘了给我发条信息。”然后女朋友回家以后给你发了条信息。其实这就是一个回调的过程。你留了个参数函数(让女朋友给你发条信息)给女朋友,然后女朋友回家,回...原创 2019-01-04 11:56:46 · 612 阅读 · 0 评论 -
JavaScript异步与Promise基本用法(resolve与reject)
Promise解决的问题 相信每个前端都遇到过这样一个问题,当一个异步任务的执行需要依赖另一个异步任务的结果时,我们一般会将两个异步任务嵌套起来,这种情况发生一两次还可以忍,但是发生很多次之后,就形成了所谓的回调地狱,代码层层嵌套,环环相扣,很明显,逻辑稍微复杂一些,这样的程序就会变得难以维护。就比如我们昨天的那个回调地狱的例子: function funA(callback) { consol...原创 2019-01-05 09:58:08 · 25739 阅读 · 6 评论 -
JavaScript异步实战
JavaScript异步系列的篇章到今天为止已经完结了,从回调函数 => Promise => Genenrrator => async,现在呢我们再用同一个例子,分别用这几种异步方法来实现,自己比较下异步技术哪家强 准备工作 我们先准备好四个接口, 四个接口的返回的数据分别为 : 刘家军起床了! 刘家军上班了! 刘家军下班了! 刘家军睡觉了!原创 2019-01-11 09:16:29 · 418 阅读 · 0 评论 -
JavaSccript异步Promise.then()与Promise.catch()
我们先打印Promise原型下都带有哪些方法 console.log(Promise.prototype) 输出: Promise.then() 语法 p.then(onFulfilled,onRejected) p.then(function(value) { // fulfillment }, function(reason) { // rejection }); 参数 ...原创 2019-01-07 09:19:22 · 3320 阅读 · 3 评论 -
JavaScript异步Promise.all()、Promise.race()以及Promise.finally()
今天我们讲一下es6对Promise的扩展,我们使用axios进行ajax请求来演示一下, 首先我先准备了3个接口: Promise.all() <!DOCTYPE html> <html lang="en"> <head&am原创 2019-01-08 09:20:22 · 1943 阅读 · 2 评论 -
谈一谈JavaScript异步
什么是js异步? 我们常常听到单线程、多线程、同步、异步这些概念,那么这些东西到底是什么呢? 1.单线程就是只有一个主线的线程,代码从上往下顺序运行,主线程负责执行程序的所有代码(UI展现以及刷新,网络请求,本地存储等等) 例如:一个项目从产品逻辑 => 设计原型图 => 前端+后台 => 测试 =&amp原创 2019-01-03 16:49:19 · 515 阅读 · 0 评论 -
JavaScript异步之generator函数
接触过Ajax请求的会遇到过异步调用的问题,为了保证调用顺序的正确性,一般我们会在回调函数中调用,也有用到一些新的解决方案如Promise相关的技术。 在异步编程中,还有一种常用的解决方案,它就是Generator生成器函数。顾名思义,它是一个生成器,它也是一个状态机,内部拥有值及相关的状态,生成器返回一个迭代器Iterator对象,我们可以通过这个迭代器,手动地遍历相关的值、状态,保证正确的执行...原创 2019-01-09 11:04:11 · 448 阅读 · 0 评论 -
JavaScript异步之async
前面我们已经讲过Promise、Gnerrator,今天呢我们讲一下async,async与前面所讲的有很大的关联 async函数 async作为一个关键字放到函数前面,用于表示函数是一个异步函数,因为async就是异步的意思, 异步函数也就意味着该函数的执行不会阻塞后面代码的执行,我们看一下例子: async function testAsync() { return "Hello World"...原创 2019-01-10 10:36:19 · 1259 阅读 · 0 评论