当前位置: 首页 > news >正文

上海网站建设做物流一怎么自己做一个小程序

上海网站建设做物流一,怎么自己做一个小程序,网站开发方面的岗位,免费制作二维码的网站Async/Await Async/Await是尚未正式公布的ES7标准新特性。简而言之,就是让你以同步方法的思维编写异步代码。对于前端,异步任务代码的编写经历了 callback 到现在流行的 Promise ,最终会进化为 Async/Await 。虽然这个特性尚未正式发布&#…

Async/Await

Async/Await是尚未正式公布的ES7标准新特性。简而言之,就是让你以同步方法的思维编写异步代码。对于前端,异步任务代码的编写经历了 callback 到现在流行的 Promise ,最终会进化为 Async/Await 。虽然这个特性尚未正式发布,但是利用babel polyfill我们已经可以在应用中使用它了。

http://www.tuicool.com/articles/B77zAbe

现在假设一个简单的React/Redux应用,我将引入 Async/Await 到其代码。

Actions

此例子中有一个创建新文章的 Action ,传统方法是利用 Promise 结合 Redux-thunk 中间件实现。

import axios from 'axios'export default function createPost (params) {  const success = (result) => {dispatch({type: 'CREATE_POST_SUCCESS',payload: result})return result}const fail = (err) => {dispatch({type: 'CREATE_POST_FAIL',err})return err}return dispatch => {return axios.post('http://xxxxx', params).then(success).catch(fail)}
}

现在将它改写为 async/await 的实现:

import axios from 'axios'export default function createPost (params) {  const success = (result) => {dispatch({type: 'CREATE_POST_SUCCESS',payload: result})return result}const fail = (err) => {dispatch({type: 'CREATE_POST_FAIL',err})return err}return async dispatch => {try {const result = await axios.post('http://xxxxx', params)return success(result)} catch (err) {return fail(err)}}
}

async和await是成对使用的,特点是使代码看起来和同步代码类似。

Components

同样,在React组件中,也比较一下 Promise 和 Async/Await 的方法异同。

传统地使用 Promise :

import React, { Component } from 'react'  
import { connect } from 'react-redux'  
import { createPost } from '../actions/post'class PostEditForm extends Component {  constructor(props) {super(props)}contributePost = e => {e.preventDefault()// .... get form values as paramsthis.props.createPost(params).then(response => {// show success message}).catch(err => {// show error tips})}render () {return (<form onSubmit={this.contributePost}><input name="title"/><textarea name="content"/><button>Create</button></form>)}
}export default connect(null, dispatch => {  return {createPost: params => dispatch(createPost(params))}
})(PostEditForm)

如果使用 Async/Await

import React, { Component } from 'react'  
import { connect } from 'react-redux'  
import { createPost } from '../actions/post'class PostEditForm extends Component {  constructor(props) {super(props)}async contributePost = e => {e.preventDefault()// .... get form values as paramstry {const result = await this.props.createPost(params)// show success message} catch (err) {// show error tips}}render () {return (<form onSubmit={this.contributePost}><input name="title"/><textarea name="content"/><button>Create</button></form>)}
}export default connect(null, dispatch => {  return {createPost: params => dispatch(createPost(params))}
})(PostEditForm)

可以见得,两种模式, Async\Await 的更加直观和简洁,是未来的趋势。但是目前,还需要利用babel的 transform-async-to-module-method 插件来转换其成为浏览器支持的语法,虽然没有性能的提升,但对于代码编写体验要更好。

http://www.lbrq.cn/news/2797579.html

相关文章:

  • 网站充值链接怎么做建站 seo课程
  • 建网站做哪方面网站优化的方法有哪些
  • 沙坪建设集团网站做网站要多少钱
  • 济南app网站建设绍兴seo计费管理
  • 个人站长和企业网站湖南网站建设效果
  • 重庆石桥铺网站建设公司百度论坛首页
  • 中山 网站关键词优化网站推广教程
  • 商城版网站制作seo优化对网店的推广的作用为
  • 工布江达网站建设百度排行榜
  • 企业网站策划论文软文推广的优点
  • 云南网站设计联系方式2022智慧树互联网与营销创新
  • 给县里做网站google官网进入
  • 张家港手机网站建设郑州网站策划
  • 小额贷款 网站模板seo优化是怎么优化的
  • 微商做色情网站全世界足球排名前十位
  • 做网站负责人有法律风险吗广告营销案例分析
  • 政府网站建设方案范文—工作方案google关键词搜索技巧
  • WordPress主题Perimg优化培训课程
  • 本溪网站建设百度网址提交
  • 接单网站设计 只做设计图报价千锋教育的口碑怎么样
  • 中国建设银行山西分行招聘网站企业全网推广公司
  • 珠海企业集团网站建设网络营销策划是什么
  • 网站建设与推广策划案案例优化人员是什么意思
  • 松桃县住房和城乡建设局网站网站应该如何进行优化
  • 一个女的让我和她做优惠网站策划推广
  • 西安公司网站费用百度seo插件
  • wordpress过FTP更新建站合肥网络公司seo
  • 装饰公司看的设计网站百度客户端官网
  • 班级网站开发报告seo推广外包报价表
  • 彭阳县城乡与住房建设局网站搜狗站长工具
  • 活性数据处理与标准化
  • 数据结构之排序大全(4)
  • QT的项目pro qmake编译
  • AUTOSAR自适应平台(AP)中元类(Metaclass)、建模(Modeling) 和 ARXML 这三者的核心关系与区别
  • 【clion】cmake脚本1:调试脚本并构建Fargo项目win32版本
  • SED项目复现学习实录