首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

、使用Promise封装ajax()、Promise入门

、使用Promise封装ajax()、Promise入门 1 是啥 call a function call a function back callback 看这里:Callback()是什么...---方应杭知乎 callback 是一种特殊函数,这个函数被作为参数传给另一个函数去调用。这样函数就是函数。...一般来说,只要参数是一个函数,那么这个函数就是。 请看我写封装简易jQuery.ajax()中successFN就是一个函数....只有在请求成功并接收到响应时候才会执行这个success函数,这就是.传一个函数作为参数但是不执行,让另一个函数去调用,就是函数 1.2Callback 有点反直觉 callback 有一点「...代码都在这里 3.1 $.Ajax()中promise 如果不使用promise,$.ajax请求时候成功和失败函数是写在参数里,他是对象参数一个值 $.ajax({ method

3.3K51

Promise是什么?Promise怎么使用?地狱

2)、一旦状态改变,就不会再变 状态改变,只有两种可能:从 Pending 变为 Resolved 和从 Pending 变为 Rejected 3、Promise作用 解决地狱问题。...}); ​ Promise 对象可以将异步操作以同步操作流程表达出来(使用链式写法),避免了层层嵌套函数。...promise对象.then(resolve函数,reject函数); 参数: then方法第一个参数是resolve then方法第二个参数是reject。...返回数据与传参数数组顺序是一样。当所有的异步操作都成功才表示成功 。 参数:数组数组里是若干个返回promise对象函数(异步操作); 返回值:promise对象。...promise对象then方法函数参数是 所有promise对象resolve参数(数组形式)。

49520
您找到你想要的搜索结果了吗?
是的
没有找到

深入了解Promise对象,写出优雅代码,告别地狱

实际应用 结束语 引言 我们都知道,一个好代码是有很强维护性、阅读性, 但是在Jacascript中函数量一增多, 很容易影响代码阅读性,导致代码难以维护, 这种现象就叫做回地狱, 为了解决这现象..., ES6将Promise写进了语言标准里, 专门用来解决这个地狱现象, 那么就让我们来了解一下吧。...时,函数数量很多时候代码,以及使用Promise以后代码吧。..., 这区别已经很明显了吧, 显而易见,使用完Promise后, 这种函数里面嵌套函数代码就变得很简洁,耐看,那我们就开始学习Promise使用吧 二、Promise三种状态 pending...'] 上述代码中, all 函数传入一个数组数组每个元素都是一个Promise实例, 只有当数组每个Promise实例都处于 fulfill 状态时,才会调用外部新包装成Promise

53710

地狱解决方案之Promise

,成功结果调回来向下执行 }) 上述代码只是一层级,如果代码复杂后,会出现多层级,代码可读性也会很差,那有没有一种方式,不用考虑里面的内容,直接根据结果成功还是失败执行下面的代码呢?...Promise含义 书上这么说: Promise 是异步编程一种解决方案,比传统解决方案–函数和事件--更合理和更强大。...我理解: Promise使函数可以规范链式调用 Promise原理与讲解 原理 Promise三种状态 pending:进行中 fulfilled :执行成功 rejected :执行失败...==Promise其实没有做任何实质代码操作,它只是对异步操作函数不同结果定义了不同状态。...这种情况,代码虽然看起来会比callback简介和规范了很多,但是还是感觉一些复杂,有没有更好解决办法呢?

1.3K30

地狱解决方案之Promise

,成功结果调回来向下执行 }) 上述代码只是一层级,如果代码复杂后,会出现多层级,代码可读性也会很差,那有没有一种方式,不用考虑里面的内容,直接根据结果成功还是失败执行下面的代码呢?...Promise含义 书上这么说: Promise 是异步编程一种解决方案,比传统解决方案–函数和事件--更合理和更强大。...我理解: Promise函数可以规范链式调用 Promise原理与讲解 原理 Promise三种状态 pending:进行中 fulfilled :执行成功 rejected :执行失败...==Promise其实没有做任何实质代码操作,它只是对异步操作函数不同结果定义了不同状态。...这种情况,代码虽然看起来会比callback简介和规范了很多,但是还是感觉一些复杂,有没有更好解决办法呢?请看下一篇博客 终极使用--async和await讲解

74020

JavaScript 中Promise 和 AsyncAwait 代码案例

本文将通过代码示例展示如何使用基于 API,然后将其改成使用 Promises,最后再用 Async/Await 语法。本文不会详细解释promise 和 Async/Await 语法。...有关这些概念详细解释,请查看 MDN Asynchronous JavaScript[1],它解释了什么是异步性以及如何用回promise 和 Async/Await 语法处理异步 JavaScript...如果你对 JavaScript 中异步有一定了解,但需要一个直观代码案例作为参考,那么本文就是给你准备。...出于演示目的,我们将使用 fs.readFile[2],这是一个基于用于读取文件 API。...node script.js 命令执行脚本,会在终端上输出“Beam me up, Scotty”: $ node script.js Beam me up, Scotty [callback] 对于写法

1.4K20

实用主义:Promise让异步更加优雅

如果只有一个简单异步操作,我们可以稍费脑子理清执行顺序,但是如果有多个异步方法,呃,我们就可能掉进了陷阱,事情远远没有我们想到那么简单,并且我们甚至还没考虑过异步中抛出错误。...还好Promise出现,解救了我们,这篇文章不是讲解Promise详细使用方法,只是通过两个例子,看看Promise优雅之处,详细资料请参考阮一峰老师 《ES6标准入门》 传统ajax 代码运行于最新...结果 这是一个传统ajax,我们把所有事务逻辑封装在onreadystatechange事件中,并且xhr生成与使用都在一块代码内。...结果 我们通过then(resolve方法别名),进行操作,then方法返回也是一个Promise对象,因此可以链式调用,这样我们可以按步骤操作返回数据。...最后 相比传统ajax方法,Promise优雅之处在于 关注点分离,每一次调用只需要完成一个任务; 更符合人脑思考逻辑; 良好错误处理逻辑,错误冒泡; all() 和 race()方法避免陷入地狱

70380

【javascript】异步编年史,从“纯”到Promise

这种控制权转移, 被叫做“控制反转” 1.调用函数过早 调用函数过早最值得让人注意问题, 是你不小心定义了一个函数,使得作为函数参数可能延时调用,也可能立即调用。  ..., 这就是对于竞态处理 正因为调给我们带来麻烦很多,ES6引入了Promise机制: 一步一步地揭开Promise神秘面纱 首先让我们回顾一下“函数”给我们带来信任危机原因: 我们无法信任放入参数函数...报错被吞掉 要说明一点Promisethen方法中error被调用时机有两种情况: 1....“大Promise”, 只有数组全部Promise状态都转为Fulfilled(成功),这个“大Promise状态才会转为Fulfilled(成功), 这时候, then方法里成功接收参数也是数组...,分别和数组Promise一一对应, 例如promise1对应data1,promise2对应data2 而如果任意一个数组Promise失败了, 这个“大Promise状态会转为Rejected

1.1K80

【JS】302- 地狱解决方案之Promise

,成功结果调回来向下执行 }) 上述代码只是一层级,如果代码复杂后,会出现多层级,代码可读性也会很差,那有没有一种方式,不用考虑里面的内容,直接根据结果成功还是失败执行下面的代码呢?...Promise含义 书上这么说: Promise 是异步编程一种解决方案,比传统解决方案–函数和事件--更合理和更强大。...我理解: Promise函数可以规范链式调用 Promise原理与讲解 原理 Promise三种状态 pending:进行中 fulfilled :执行成功 rejected :执行失败...==Promise其实没有做任何实质代码操作,它只是对异步操作函数不同结果定义了不同状态。...这种情况,代码虽然看起来会比callback简介和规范了很多,但是还是感觉一些复杂,有没有更好解决办法呢?请看下一篇博客 终极使用--async和await讲解

1.3K30

day046: Promise之问(一)——Promise 凭借什么消灭了地狱?

问题 首先,什么是地狱: 多层嵌套问题。 每种任务处理结果存在两种可能性(成功或失败),那么需要在每种任务执行结束后分别处理这两种可能性。 这两种问题在函数时代尤为突出。...Promise 诞生就是为了解决这两个问题。 解决方法 Promise 利用了三大技术手段来解决地狱: 函数延迟绑定。 返回值穿透。 错误冒泡。...这就是函数延迟绑定。...});x.then(/* 内部逻辑省略 */) 我们会根据 then 中函数传入值创建不同类型Promise, 然后把返回 Promise 穿透到外层, 以供后续调用。...这两种技术一起作用便可以将深层嵌套写成下面的形式: readFilePromise('1.json').then(data => { return readFilePromise('2.json

60730

函数工作机制 函数用途

在一般人眼中,对函数并不是十分了解。实际上,在现在互联网技术上这种函数有着十分重要地位。这种函数不仅仅可以使得编程效率大大提升,还是实现一些特殊功能必须组成部分。那么什么是函数?...这样函数究竟有什么作用?下面就来为大家介绍一下。 image.png 一、函数工作机制 函数还有另外一个通俗易懂叫法,就是可以进行参数传递函数。...二、函数作用 这种函数巨大作用就在于将被调用者与调用者分离,这样就可以不去管被调用者,仅仅需要是原函数以及一定限制条件。换句话说,就是将一个函数指针作为一个新参数传递给另一个函数。...这样就会便于这个函数可以采用更加灵活方法去处理相似的情况。当然,这种函数还可以运用于信息通知机制中,对信息进行通知。除此之外,这种函数还有其他重要用途,这里就不一一介绍了。...以上就是为大家对于可进行函数工作机制,以及该种函数重要意义简单介绍。学会在编程中运用这种函数,会带来很多便利。

6.7K20

小程序不同页面的异步,callback和promise使用讲解

下面就来教大家两种方式来很好解决这个问题。 一,通过callback。 先看下代码,然后我再具体给大家讲解下原理。 app.js里定义如下方法 ?...我们上图callback参数,其实就是下图 function(result){} ? 把function方法作为一个参数传递进去目的,就是为了下面的。 ?...我们这个callBack参数,可以在请求数据成功或者失败时候作为一个方法调用。这样就可以把请求到数据,传回去了。 讲有点绕,不知道大家有没有被绕晕。这在java开发中,其实就相当于监听者模式。...好了,到这里我们两种不同页面的异步就给大家讲完了。...; }, //第一种,通过callback方式来实现 callBackGetData(callBack) { wx.cloud.database().collection("

1.4K32

传统函数与 ES6中promise以及 ES7 asyncawait终极异步同步化

目录 传统函数封装 ES6中promise 异步同步化(终极) ---- 传统函数封装 js中函数理解:函数就是传递一个参数化函数,就是将这个函数作为一个参数传到另外一个主函数里面...,当那个主函数执行完之后,再执行传递过去函数,走这个过程参数化函数,就叫回函数,换个说法也就是被作为参数传递到另一个函数(主函数)那个函数就叫做回函数。...promise.then(successCb, faildCd) 接收两个函数作为参数,来处理上一个promise 对象结果。then f 方法返回promise 对象。...第一种链式写法,使用catch,相当于给前面一个then方法返回promise 注册,可以捕获到前面then没有被处理异常。第二种是函数写法,仅为为上一个promise 注册异常回。...使用Promise.all方式,等待这两个网络请求都请求完成之后,将所有获取数据存放在这个数组当中一块打印!

1K20
领券