[20190620]日常学习记录(三)-初识promise及vuex
在学习promise之前重温了Ajax的原生js实现,
在原生js中发送一个http请求首先new XMLHttpRequest()
然后定义状态变更事件
浏览器监听请求的状态,触发不同状态下相应的代码
promise
异步操作在运行或计算的时候不会阻止程序执行其它操作
这个异步操作就是promise,它代表异步操作执行的最终结果
异步操作过程中称为挂起(pending),结果(settled)可以是完成或拒绝,
promise定义的then()方法注册的函数会在异步操作完成后立即执行
回调函数响应事件在异步操作完后再添加回调函数,就永远不可能执行了
vuex是vue官方推荐的数据层的类库
它用于复杂页面或组件间进行数据传递
设计理念是将数据存在公共的存储空间,某个组件改变了数据,所有组件也会变化
vuex数据存取流程是,components调用dispatch,把改变数据的(异步)操作放在Actions
Actions调用commit,把一个个同步的对数据的修改放在mutations
mutations最终改变state里的数据
components可以在state里读取数据,但不能直接修改里面的数据
这就是vuex单向数据改变流程
[20190620]日常学习记录(三)-初识promise及vuex的更多相关文章
- Spring 学习记录8 初识XmlWebApplicationContext(2)
主题 接上文Spring 学习记录7 初识XmlWebApplicationContext refresh方法 refresh方法是定义在父类AbstractApplicationContext中的. ...
- JavaScript学习记录三
title: JavaScript学习记录三 toc: true date: 2018-09-14 23:51:22 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅M ...
- 3.VUE前端框架学习记录三:Vue组件化编码1
VUE前端框架学习记录三:Vue组件化编码1文字信息没办法描述清楚,主要看编码Demo里面,有附带完整的代码下载地址,有需要的同学到脑图里面自取.脑图地址http://naotu.baidu.com/ ...
- leveldb 学习记录(三) MemTable 与 Immutable Memtable
前文: leveldb 学习记录(一) skiplist leveldb 学习记录(二) Slice 存储格式: leveldb数据在内存中以 Memtable存储(核心结构是skiplist 已介绍 ...
- 【Android】学习记录<1> -- 初识ffmpeg
工作需要用到ffmpeg来进行Android的软编码,对这玩意儿一点都不了解,做个学习记录先. FFmpeg:http://www.ffmpeg.org Fmpeg is the leading mu ...
- webrtc学习———记录三:mediaStreamTrack
参考: https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack 转自http://c.tieba.baidu.com/p/3 ...
- java 日常学习记录
前言:记录自己初学java 遇到的问题. 环境(win10 开始安装的IDEA,net 开发者 )学习网址:http://how2j.cn/stage/14.html (不是打广告) 特别是对初学 ...
- mybatis学习记录三——SqlMapConfig.xml相关参数详解
5 SqlMapConfig.xml mybatis的全局配置文件SqlMapConfig.xml,配置内容如下: properties(属性) settings(全局配置参数) ty ...
- 下页小希学MVC5+EF6.2 学习记录三
目的:1 学习mvc+ef 2 写下日记也是对自己的督促 期待已久的EF终于来了. 学完本篇文章,你将会掌握基于EF数据模型的完整开发流程. 本次将会完成EF数据模型的搭建和使用. 基于这个模型 ...
随机推荐
- 数据库关键字 (Oracle, SQL Server, DB2)
Oracle SQL Server DB2 ! @@IDENTITY DETERMINISTIC & ADD DISALLOW ( ALL DISCONNECT ) ...
- 面向对象(static关键字)
static关键字:用于修饰成员(成员变量和成员函数) 被修饰后的成员具备以下特点: 随着类的加载而加载 优先于对象存在 被所有的对象共享 可以直接被类名调用 使用注意: 静态方法只能访问静态成员 静 ...
- 在Windows环境中学习Linux
如何在Windows环境下学习Linux?方法如下: 方法一: 下载Cygwin,Cygwin是一个在windows平台上运行的类UNIX模拟环境,网上有很多安装教程,这里不多说. 方法二: 下载一个 ...
- 希尔排序(java)
希尔排序是对直接插入排序的一种优化,基本思想是把待排序的数据元素分成若干个小组,对同一小组内的数据元素用直接插入法排序:小组的个数逐次缩小:当完成了所有数据元素都在一个组内的排序后排序过程结束.希尔排 ...
- centos6.5下PF_RING安装方法
参考的是这个大牛的文章:http://blog.csdn.net/fan_hai_ping/article/details/6705170 系统环境:centos6.5 开发版 PF_RING版本:P ...
- phpstudy配置php7.1.11
php7.1.11下载地址 http://windows.php.net/download/ 下载之后,解压. 重名的为php-7.1.11-nts 移动到phpStudy的php目录下 然后重启ph ...
- php+redis实现高并发模拟下单、秒杀、抢购操作
对于高并发下的场景,一般都是采用redis缓存机制来处理. 当然也不是只有redis可以处理.还有利用mysql事务操作锁住操作的行.文件锁. 不过这些方式都没有redis缓存高效.可靠. 模拟的过程 ...
- json字符串与json对象之间的转换
字符串转对象(strJSON代表json字符串) var obj = eval(strJSON); (运用时候需要除了eval()以外需要json.js包) var obj = strJSON. ...
- VMWare安装Ubuntu 16.04
1.Ubuntu安装文件下载 到Ubuntu官网下载安装包,有Bit Torrent.Network installer多种方式下载. 推荐使用中国地区的镜像下载,我是用华科的校园网下载速度是非常感人 ...
- junit 直接执行测试方法报错
在eclipse中,直接右击test1->Run As->Junit Test,报下面的错: java.lang.NoSuchMethodError: org.junit.runner.R ...