美文网首页
JS语法的一些记录

JS语法的一些记录

作者: limbo_lyn | 来源:发表于2020-02-24 11:38 被阅读0次

由于本人一直是负责IOS和安卓端的开发,临时转去做小程序和h5的开发,对JS的很多语法概念都不熟悉,看到一些函数调用,一头雾水,因此对一些比较特别的语法做些记录;

1、三点操作...

解释:对象中的扩展运算符(...)用于取出参数对象中所有可遍历属性,拷贝到当前对方中

所以

  reducers: {

    save(state, { payload: data }) {

      return { ...state, ...data };

    },

  },

就是将data的新的属性值,遍历覆盖到state中,并返回新的state

2、小程序异步封装操作

const promisify = original => {

  return function(opt) {

    return new Promise((resolve, reject) => {

      opt = Object.assign({

        success: resolve,

        fail: reject

      }, opt)

      original(opt)

    })

  }

}

之后我们就可以这样调用

promisify(wx.getStorage)({key: 'testNum'}).then(value=> {

  // success}).catch(reason=> {

  // fail})

这个封装,涉及到了闭包,Promise、Object.assign和小程序的api,我们逐步分析

1)小程序的异步函数如:

wx.getStorage,获取本地缓存中的字段

函数 原型:

我们需要的参数有三个key,success和fail,

因为Promise函数就刚好有resolve和reject函数,因此我们new 一个Promise,并把resolve和reject和需要查询的key值通过

Object.assign合并成一个新的json参数对象,

然后通过original即传入的小程序异步函数调用,成功后就会调用then,失败则是catch

 opt = Object.assign({

        success: resolve,

        fail: reject

      }, opt)

这个函数,最终返回的还是一个promise对象,他只是把callback的模式(缩进的噩梦)更改成链式表达式

original => { return function  }

是箭头函数,表示参数为original的闭包,这个闭包的返回本应在调用是再加个(),但是在闭包的最后一行已经通过

original()进行调用了

参考

把微信小程序异步API封装成为Promise,简化异步调用

ES6之Object.assign()详解

廖雪峰的JS教程

相关文章

  • JS语法的一些记录

    由于本人一直是负责IOS和安卓端的开发,临时转去做小程序和h5的开发,对JS的很多语法概念都不熟悉,看到一些函数调...

  • javascript语法上的特点

    很多语言的基础语法方面都大同小异。初学javascript,还没有js代码上的积累,为了识记js语法上的一些特点,...

  • Vue中的JS动画与Velocity.js的结合

    通过Velocity.js使用一些简单的语法实现动态效果

  • iOS中WKWebView和Native交互

    前言 了解本文之前需要准备JS和WebView的一些基础知识,需要知道JS的基本语法和WebView调用JS的常用...

  • JS基础和WebAPIs的关联性

    学习ECMAscript标准规定的基本语法掌握JS基础语法只学习JS基础做不了网页交互效果学习JS基础语法是为了后...

  • react-jsx

    jsx 是类似 js 模板语法 声明 jsx 使用 jsx jsx 语法 jsx 是 js 的语法扩展,在 jsx...

  • swift语法注意点(swift3.0)

    swift语法中和其它语言(OC,Java,JS)相同的地方就不多赘述,只记录一下需要注意的地方 1.基本语法部分...

  • 4/07day28_js基础

    day28_js基础 回顾 JS基础语法 JS运算符 JS流程控制语句 条件语句 JS的条件语句和Java语法基本...

  • JSX语法

    在react中,在js文件里写html标签,我们把这种语法称为 jsx语法。 jsx语法与普通js语法的区别 普通...

  • gulp笔记

    开始 介绍一些概念 压缩 html css js 图片 处理 css 精简代码、加前缀 处理js 转es5 语法 ...

网友评论

      本文标题:JS语法的一些记录

      本文链接:https://www.haomeiwen.com/subject/gzjmqhtx.html