摘要: promise规范 1、当实例化Promise时会立即执行 2、已经是成功态或是失败态不可再更新状态 3、让Promise支持异步 我们可以参照发布订阅模式,在执行then方法时如果还在等待态(pending),就把回调函数临时寄存到一个数组里,当状态发生改变时依次从数组中取出执行就好了。 4、链式 阅读全文
posted @ 2020-05-10 11:51 前端++ 阅读(831) 评论(0) 推荐(0) 编辑
摘要: 带着问题读源码,主要解决以下几个问题 1、为什么 axios 既可以当函数调用,也可以当对象使用 2、 axios 调用流程及原理 3、有用过拦截器吗?原理是怎样的? 4、axios取消请求及原理。 5、为什么支持浏览器中发送请求也支持node发送请求? 一、为什么 axios 既可以当函数调用,也 阅读全文
posted @ 2020-04-20 15:25 前端++ 阅读(395) 评论(0) 推荐(0) 编辑
摘要: export default function isPlainObject(obj) { /**obj必须为一个对象且不能为null */ if (typeof obj !== 'object' || obj null) return false let proto = obj while (Obj 阅读全文
posted @ 2020-04-12 19:22 前端++ 阅读(176) 评论(0) 推荐(0) 编辑
摘要: applyMiddleware是另一个核心函数 首先我们需要知道如何使用中间件 eg: import { createStore, applyMiddleware } from 'redux' import todos from './reducers' function logger({ getS 阅读全文
posted @ 2020-04-12 19:21 前端++ 阅读(199) 评论(0) 推荐(0) 编辑
摘要: eg:使用代码 //reducers/todos.js export default function todos(state = [], action) { switch (action.type) { case 'ADD_TODO': return state.concat([action.te 阅读全文
posted @ 2020-04-12 19:20 前端++ 阅读(210) 评论(0) 推荐(0) 编辑
摘要: redux源码 redux的源码很简单,分为以下几部分 createStore combineReducers applyMiddleware compose bindActionCreators createStore即入口函数生成store,将reducer和middleware关联起来 com 阅读全文
posted @ 2020-04-12 19:19 前端++ 阅读(394) 评论(0) 推荐(0) 编辑
摘要: 一、redux的思想 redux可能是刚刚接触react时,我遇到比较复杂的问题了。个人认为使用redux并不难,跟着教程敲个计数器什么的也是非常简单的。 redux难就难在理解其思想及原理。经过学习很多文章和查看redux源码后。写下了这个文章,做个记录和总结,以便以后忘记了还能捡起来。 学习re 阅读全文
posted @ 2020-04-12 19:16 前端++ 阅读(343) 评论(0) 推荐(0) 编辑
摘要: 一、贴纸函数需求 在开发中遇到需要在图片上加上其他各种小贴纸最终合成一张图片的需求。 所以在插件中添加了类似的功能。 二、添加贴纸原理 本质上就是将两张变换后的canvas分别导出一张图片,然后将这两张图片按顺序绘制在新的canvas画布上,最终导出合成后的图片。 实例代码: drawSynthet 阅读全文
posted @ 2019-07-24 08:05 前端++ 阅读(780) 评论(0) 推荐(0) 编辑
摘要: 1、在图片上传中,使用的input的type为File的属性。使用filereader的Api let that = this; var file = document.getElementById("file").files[0]; console.log(document.getElementB 阅读全文
posted @ 2019-07-23 23:14 前端++ 阅读(332) 评论(1) 推荐(0) 编辑
摘要: 注意:transform的scale为负数时,图片会垂直翻转 一、在使用transform将计算得到的变化应用到图片上后,需要考虑到我们每次计算的都是touchmove中本次的差量。在第一次移动过后。当进行第二次移动时,我们需要在第一次移动的位置基础上再次进行差量移动,所以首先需要创建一个公共变量来 阅读全文
posted @ 2019-07-23 19:29 前端++ 阅读(425) 评论(0) 推荐(0) 编辑