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

promise & axios & async_await 关于 Promise

: 1.类方法(静态方法): (1)resolved:成功状态返回一个 Promise 对象; (2)reject:失败状态返回一个Promise 对象; (3)race:多个 Promise 任务同时执行...,返回最先执行结束的 Promise 任务的结果,不管这个 Promise 结果是成功还是失败; (4)all:如果全部成功执行,则以数组的方式返回所有 Promise 任务的执行结果,如果有错误就返回...then式链式写法的本质其实是一直往下传递返回一个新的Promise,也就是说then在下一步接收的是上一步返回Promise,理解这个对于后面的细节非常重要!!...axios本身就是一个promise。...网上很多都是把axios外面又套一层promise那是不科学或者没有理解axios的本质的做法,要知道:axiospromise封装的,本质就是一个promise,所以没必要去套一层promise

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

Ajax,Promise,Fetch,Axios的区别

Ajax,Promise,Fetch,Axios的区别 说起他们的区别我们首先要知道,js中什么是同步执行和异步执行?...Promise 为了解决一部带来的问题,js推出新对象promise,专门用来存储异步代码对象,他可以确保异步代码的执行和返回结果 Promise的回调函数可以指定两个参数 resolve :在代码正常执行时...,来设置返回值的 reject(可选) :在代码执行出错时,用来设置错误信息,反正我不用,用catch更优雅 当Promise中的代码正常执行时,会通过then方法回调来返回结果,直接抛出异常非正常执行则不会执行...Axios 非官方的发送异步请求的库,基于promise,需要自己引入,可以更好地封装,使用范围广,更方便 document.querySelector("button").addEventListener...√专门为异步提供支持Fetch√官方库,基于Promise,可以直接用来发送请求Axios×第三方,基于Promise,需要引入,能更好的封装

2K30

JavaScript 在 Promise.then 方法里返回新的 Promise

declared there one(); two(); three(); }); 这里每个 loadScript 调用,都会返回一个 promise,这个新的 promise...("/article/promise-chaining/two.js").then(script2 => { loadScript("/article/promise-chaining/three.js...Thenables 对象 准确地说,then 处理程序可能返回的不完全是一个 Promise,而是一个所谓的 thenable 对象——一个具有 .then 方法的任意 JavaScript 对象。...它将被视为与 Promise 相同的方式被处理。 这个想法是第 3 方库可以实现自己的 promise-compatible 对象。...JavaScript 在第 16 行中检查 .then 处理程序返回的对象:如果它有一个名为 then 的可调用方法,那么它调用该 then 方法,并提供本地函数 resolve、reject 作为参数

1.1K20

PromiseAxios 的一些学习心得记录

学习心得 Promise then:里面有两个回调 promise原型上提供了 then catch finally 三个方法,使用这几个方法都会返回一个全新的 Promise 实例,这个 Promise...如果后面再来一个 .then,那么它执行哪个回调以及它的 Value 值,是取决于上一个.then的回调是否执行成功和返回的 Value 值的(特殊情况:如果其方法中返回的是一个新的Promise实例,...Fulfilled,也接受并返回了Value值 return x*10 },function onRejected(y) { }).then(function onFulFilled(x) {...的Value值[ VALUE1,VALUE2 ...] }) Primise.race:看Promise实例中谁先得到最后的状态,最后就以它的状态和Value为主 Axios 它比Jquer中的AJAX...(reason) }] // => 发送各种请求以及使用axios.all处理并行 axios.get(URL,{ params: { } }).then(data => { })

7610

JavaScript手写PromisePromise.then()、Promise.all()、Promise.race()

then方法返回一个新的Promise实例,为了在Promise状态发生变化时再执行then里的函数,我们使用一个callbacks数组先把传给then的函数暂存起来,等状态改变时再调用 那么,怎么保证后一个...,在这个resolve里会依次调用callbacks里的回调,这样就执行了then里的方法 启后:上一步中,当then里的方法执行完成后,返回一个结果,如果这个结果是个简单的值,就直接调用新Promise...如果返回的结果是个Promise,则需要等它完成之后再出发新Promise的resolve,所以可在其结果的then里调用新Promise的resolve then(onFulfilled, onReject...break; } }); }; 注意: 连续多个then里的回调方法是同步注册的,但注册到了不同的callbacks数组中,因为每次then都返回新的...接口的对象作为参数 这个方法返回一个新的Promise对象 遍历传入的参数,用Promise.resolve()将参数“包一层”,使其变成一个Promise对象 参数所有回调成功才是成功,返回值数组与参数顺序一致

91710

使用async和await封装axios

在最近的vue开发中ajax库选择了axios,需要根据回调函数的参数执行一个很长的代码块,执行函数加上axios参数代码量非常大不便于后期的优化和代码维护,于是我上网寻求axios异步的放法,被告知axios...是promise返回值没有同步,如果代码量大可以尝试自行封装,于是研究了async和await ES6Promise: new Promise(function (resolve, reject) {...{ console.log(res);//"a" }) Copy JavaScript test函数加上async会被转化为promise其中的return返回值就是then函数的参数 await...只能使用在promise中(包括async的返回函数)其用途和他的中文含义差不多:等待,意思是必须等到加await的函数结束promise才会继续执行 import axios from 'axios'...将 createType转化为promise 设置变量data准备作为返回值 为axios函数添加await等待axios完全执行完createType才会返回data变量 请求成功后将axios的请求值赋值给变量

1.5K10

Vue 前后端交互基础

实例,当这个数组中的 Promise 实例全部返回时,方法执行结束 race(数组): 接收一个数组,每个数组元素都是一个 Promise 实例,当这个数组中的 Promise 实例有一个返回时,方法执行结束...与 XMLHttpRequest 类似,Fetch 是新的 Ajax 的解决方案,会返回一个 Promise。...fetch 方法的 then 会接收一个 Response 实例,值得注意的是 fetch 方法返回的 data 是一个 Promise 实例,不能直接拿到数据。...简介   axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,本质上也是对原生XHR的封装。...axiosPromise的实现版本,符合最新的ES规范,它本身具有以下特征:  ♞ 从浏览器中创建 XMLHttpRequests  ♞ 从 node.js 创建 http 请求  ♞ 支持 Promise

2K50

Vue 09.前后端交互

console.log(data) }); Promise 基本API 实例方法 .then() 得到异步任务正确的结果 返回promise实例对象:返回的该实例对象会调用下一个then 返回普通值...并把第一个改变状态的promise返回值,传给p的回调函数 function queryData(url) { return new Promise(function(resolve, reject...console.log(result) // "HELLO TOM" }) fetch Fetch API是新的ajax解决方案 Fetch会返回Promise 更加简单的数据获取方式,功能更强大,更灵活...:3000/fdata').then(function(data){ // text()返回一个Promise实例对象,用于获取后台返回的数据 return data.text(); }).then...基于promise用于浏览器和node.js的http客户端 支持浏览器和node.js 支持promise 能拦截请求和响应 自动转换JSON数据 能转换请求和响应数据 基本使用 axios.get

6K30

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券