之前学vue的时候看到过异步加载数据的写法,并且在vue里面用的大都是ES6的语法。对于async和await并不太了解,网上说在uniapp中请求数据时总是数据和页面不同步,用了他俩可以将数据搞同步。那今天就搞搞async和await
1.在uniapp中封装一个请求方法,文件名request.js
export default function request(url, data = {}, method = 'GET') { //data和method是初始化值
return new Promise((resolve, reject) => {
uni.request({
url: url,
data: data,
method: method,
success: (res) => {
console.log(res)
resolve(res.data);
},
fail: (err) => {
reject(err)
}
});
})
}
2.再开另一个js文件,叫做axios.js,用于填写request.js中的参数并获取返回数据,这里面可以写好多个export,随意点嘛
import request from "./request.js";
const url = "http://localhost:9988";
//页面初始化时获取前1-20条数据
export const getInitPaged = () => request(url + '/find/pages/1/20')
3.在xxx.vue中的method中写一个方法,用于将axios.js中返回的值接收并处理
//1.先将文件导入
import { getInitPaged } from '../../request/axios.js';
//2.在method中创建一个方法,用async修饰,里面的方法用await修饰
async getInitPages() {
const arr = await getInitPaged();
this.version = arr.object;//将数据给data里面的变量
},
//初始化的时候可以使用
created() {
this.getInitPages()
},
咱们了解了异步 JS 是如何工作的,以及调用堆栈、事件循环、消息队列和任务队列等概念,这些概念共同构成了 JS运行时环境。虽然成为一名出色的JS开发人员并不需要学习所有这些概念,但是了解这些概念是有帮助的。
一般的,在 Flutter APP 里请求 HTTP 使用的是官方提供的 http 包。但是,有一个问题,在 Android 或者 iOS 上运行 Flutter APP,系统里配置的 HTTP 代理并不生效?
我们通常编写HTML文件,并调用CSS文件实现布局美化时,经常出现明明已经修改过CSS文件,但HTML页面却并没有产生变化的现象。下面我们来看一下解决这种情况的方法。
对于父子组件状态同步,这篇文章 《vue父子组件状态同步的最佳方式》 讲述了大多数情况下的最优解,但是当我们希望自己创建的可复用组件和封装的逻辑能够尽量行为一致的时候情况可能会有所不同
Node.js 最大的特点就是采用异步式 I/O 与事件驱动的架构设计。对于高并发的解决方案,传统的架构是多线程模型,也就是为每个业务逻辑提供一个系统线程
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!