热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Vue.js核心技术解析与uniapp跨平台实战开发学习笔记第9章axios发送HTTP请求9.3.5async与await

Vue.js核心技术解析与uni-app跨平台实战开发学习笔记第9章axios发送HTTP请求文章目录Vue.js核心技术解析与uni-app跨平台实战开发学习笔记第9章axio

Vue.js核心技术解析与uni-app跨平台实战开发学习笔记


第9章 axios发送HTTP请求


文章目录

      • Vue.js核心技术解析与uni-app跨平台实战开发学习笔记
      • 第9章 axios发送HTTP请求
        • 9.3 axios原理之promise
          • 9.3.5 async与await


9.3 axios原理之promise


9.3.5 async与await

async和await是编写异步操作的解决方案,是建立在promise基础上的新写法,两者同时使用,如果在方法中使用了await,那么方法前必须加上async。

【async函数】

作用:返回promise对象


async的右侧是一个函数,函数的返回值是promise对象


举个栗子:

async function fn1(){return "hello async"
}const res = fn1()
console.log(res)

运行结果

在这里插入图片描述

既然返回了promise对象,获取数据就使用.then方法,并且设置成功的回调函数和失败的回调函数

async function fn1(){return "hello async"
}const res = fn1()
res.then(value => {console.log(value)},reason => {console.log(reason)}
)

在这里插入图片描述

也可以直接在fn1函数中设置返回失败的数据

在这里插入图片描述


  • async函数的返回值为promise对象
  • promise对象的结果,由async函数执行的返回值决定

【await表达式】

作用:等待async函数执行完成,并返回async函数成功的值。

举个栗子

async function fn1(){return "hello async"
}async function fn2(){const res = await fn1()console.log(res)
}
fn2()

fn1()函数返回值是promise对象,在fn2()函数中,await获取到的是hello async,表示使用await可以直接获取到promise对象成功的值,不需要再使用.then()方法。

运行效果:

在这里插入图片描述


await必须写在async函数中

async函数可以没有await


上个栗子中,如果fn1()函数的返回值是promise,并且是成功的数据,如果是失败的数据…

举个栗子

在这里插入图片描述

因此,await只能等待promise对象返回成功的数据,如果promise返回的是失败的数据,直接使用await就报错了。

这个时候应该使用try/catch获取失败结果

在这里插入图片描述

OK


推荐阅读
  • 深入解析 Vue 中的 Axios 请求库
    本文深入探讨了 Vue 中的 Axios 请求库,详细解析了其核心功能与使用方法。Axios 是一个基于 Promise 的 HTTP 客户端,支持浏览器和 Node.js 环境。文章首先介绍了 Axios 的基本概念,随后通过具体示例展示了如何在 Vue 项目中集成和使用 Axios 进行数据请求。无论你是初学者还是有经验的开发者,本文都能为你解决 Vue.js 相关问题提供有价值的参考。 ... [详细]
  • 探讨了一个包含纯虚函数的C++代码片段,分析了其中的语法错误及逻辑问题,并提出了修正方案。 ... [详细]
  • 利用Node.js实现PSD文件的高效切图
    本文介绍了如何通过Node.js及其psd2json模块,快速实现PSD文件的自动化切图过程,以适应项目中频繁的界面更新需求。此方法不仅提高了工作效率,还简化了从设计稿到实际应用的转换流程。 ... [详细]
  • 看这篇之前,如果没有看过之前的文章,移步拉到文章末尾查看之前的文章。回顾先捋一下,之前我们实现的Vue类,主要有一下的功能:属性和方法的代理proxy监听属性watcher事件对于 ... [详细]
  • 本文探讨了异步编程的发展历程,从最初的AJAX异步回调到现代的Promise、Generator+Co以及Async/Await等技术。文章详细分析了Promise的工作原理及其源码实现,帮助开发者更好地理解和使用这一重要工具。 ... [详细]
  • 本文探讨了如何利用RxJS库在AngularJS应用中实现对用户单击和拖动操作的精确区分,特别是在调整区域大小的场景下。 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • importjava.io.*;importjava.util.*;publicclass五子棋游戏{staticintm1;staticintn1;staticfinalintS ... [详细]
  • 解决Visual Studio Code中PHP Intelephense误报问题
    PHP作为一种高度灵活的编程语言,其代码结构可能导致Intelephense插件在某些情况下报告不必要的错误或警告。自1.3.3版本起,Intelephense引入了多个配置选项,允许用户根据具体的工作环境和编程风格调整这些诊断信息的显示。 ... [详细]
  • 本文深入探讨了 Vue.js 中异步组件的应用与优化策略。首先,文章介绍了异步组件的基本概念及其在现代前端开发中的重要性。为了确保最佳实践,建议使用 Webpack 作为模块打包工具,因为 Browserify 默认不支持异步组件的加载。接着,详细解释了异步组件的使用方法,并提供了官方文档的相关链接以供参考。此外,文章还讨论了多种优化技巧,包括代码分割、懒加载和性能调优,以提升应用的整体性能和用户体验。 ... [详细]
  • 本文探讨了如何在 Spring MVC 框架下,通过自定义注解和拦截器机制来实现细粒度的权限管理功能。 ... [详细]
  • 问题描述现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中 ... [详细]
  • 本文详细介绍了JQuery Mobile框架中特有的事件和方法,帮助开发者更好地理解和应用这些特性,提升移动Web开发的效率。 ... [详细]
  • 深入解析WebP图片格式及其应用
    随着互联网技术的发展,无论是PC端还是移动端,图片数据流量占据了很大比重。尤其在高分辨率屏幕普及的背景下,如何在保证图片质量的同时减少文件大小,成为了亟待解决的问题。本文将详细介绍Google推出的WebP图片格式,探讨其在实际项目中的应用及优化策略。 ... [详细]
  • 本文介绍如何使用JavaScript中的for循环来创建一个九九乘法表,适合初学者学习循环结构的应用。 ... [详细]
author-avatar
林yong珊_450
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有