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 · 25746 阅读 · 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 · 1945 阅读 · 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 · 1261 阅读 · 0 评论