标签: ecmascript-7

27
推荐指数
2
解决办法
1万
查看次数

ES7使用await生成器从一组promise中获取结果

鉴于一系列承诺,在ES7中获得结果的惯用方法是什么?

这就是我想要做的事情:

async function getImports() {
  let imports = [System.import('./package1.js'), System.import('./package2.js')];
  let promises = await* imports;
  let results = [];
  await promises.forEach(val => val.then(data => results.push(data))); //seems hacky
  console.log(results); // array of 2 resolved imports
}
Run Code Online (Sandbox Code Playgroud)

结果是正确的,但我仍然在做a forEach和a then将已解决的承诺转化为结果.这对我来说似乎不对.有更干净的方式吗?

javascript ecmascript-harmony ecmascript-6 ecmascript-7

26
推荐指数
1
解决办法
1万
查看次数

你能为React Components使用es6 import别名语法吗?

我正在尝试执行以下操作,但它返回null:

import { Button as styledButton } from 'component-library'
Run Code Online (Sandbox Code Playgroud)

然后尝试将其渲染为:

import React, { PropTypes } from "react";
import cx from 'classNames';

import { Button as styledButton } from 'component-library';

export default class Button extends React.Component {
    constructor(props){
        super(props)
    }
    render() {
        return (
                <styledButton {...this.props}></styledButton>
        )
    }
}
Run Code Online (Sandbox Code Playgroud)

原因是,我需要Button从库中导入组件,并且还导出具有相同名称但保持导入组件功能的包装器组件.如果我import { Button } from component library当然离开它,我会得到一个多重声明错误.

有任何想法吗?

javascript import ecmascript-6 reactjs ecmascript-7

26
推荐指数
4
解决办法
3万
查看次数

任何人都可以解释es7反映的内容 - 元数据是什么?

一直在研究ES6,JSPM和angular2一周,我找到了这个repo ES6-loader

如果我们查看底部脚本中的index.html,您会看到

 System.import('reflect-metadata')
  .then(function() {
    return System.import('app/index');
  })
  .catch(console.log.bind(console));
Run Code Online (Sandbox Code Playgroud)

这是使用JSPM的systemjs polyfill来获取ES6 import.

问题: 在这种情况下,反射元数据到底是做什么的?npm reflect-meta我阅读的文档越多,我就越不了解它的作用吗?

npm ecmascript-6 systemjs jspm ecmascript-7

24
推荐指数
1
解决办法
1万
查看次数

Visual Studio 2015社区中的ES6/ES7支持

我听说VS 2015支持新的js语法但是当我在这个IDE中打开一个使用aurelia.js编写的项目时,intellisense会抱怨很多很多东西,例如.

export class UpperValueConverter {
  toView(value){
    return value && value.toUpperCase();
  }
}
Run Code Online (Sandbox Code Playgroud)

我安装了WebEssentials 2015.似乎仍然没有任何工作...可能一个重要的信息是我目前的VS安装是一个新的,所以我没有弄乱任何设置.

ecmascript-6 visual-studio-2015 aurelia ecmascript-7

24
推荐指数
2
解决办法
3万
查看次数

如何在ES2015中将所有属性解构为当前范围/闭包?

我想做这样的事情:

const vegetableColors = {corn: 'yellow', peas: 'green'};

const {*} = vegetableColors;

console.log(corn);// yellow
console.log(peas);// green
Run Code Online (Sandbox Code Playgroud)

我似乎无法找到或弄清楚如何做到这一点,但我真的以为我以前见过它!:P

注:我使用的是巴贝尔stage设置为0;

背景:我正试图在JSX中干燥而不是参考this.statethis.props在任何地方.如果数据发生变化,也不必继续为destructure添加属性.

javascript destructuring ecmascript-6 ecmascript-7

21
推荐指数
1
解决办法
4348
查看次数

如何在nodejs中使用ES7?

如何在nodejs中使用ES7(ECMAScript 2016)?我怎样才能在生产中使用它?

在哪个版本的节点中,我不需要使用任何模块来做到这一点?

任何帮助表示赞赏.

node.js ecmascript-7

21
推荐指数
2
解决办法
2万
查看次数

浏览器支持array.include和替代品

我查了一下,发现这是关于在数组中的较大字符串中查找子字符串.Array.Prototype.includes

if (t.title.includes(searchString))
Run Code Online (Sandbox Code Playgroud)

t是一个$.each迭代通过更大的对象数组的一部分(每个对象都有一些信息,包括字符串,日期等).searchString是用户在框中输入的内容.所有这些都是我在页面上的列表的简单搜索功能.

这在Chrome中运行得很好.但Firefox和IE正在出现错误

TypeError: currentTicket.title.includes is not a function
Run Code Online (Sandbox Code Playgroud)

所以我要么提出一个警告标志,我的应用程序只适用于Chrome或我手工查找功能?奇怪的是来自MDN的doc页面我发布了只有Firefox支持的状态array.includes,奇怪的是它只运行它的Chrome.

javascript arrays ecmascript-5 ecmascript-7

20
推荐指数
2
解决办法
2万
查看次数

Redux - 如何在reducer中向数组添加条目

我坚持这一点,我无法进步 - 我想解决方案很简单,但我无法弄清楚.我正在尝试在reducer中添加条目,因此in in中的数据看起来像这样:

state = {
  entryId: {
    entryName: ["something", "something2", "something3" /* and so on... */]
  }
};
Run Code Online (Sandbox Code Playgroud)

到目前为止,这是我得到的最接近的,但是,它不是添加新的唯一条目,而是替换已经存储的条目.此外,我需要能够将此项添加到空状态,其中entryId,entryName尚不存在以避免错误:

switch(type) {
  case ADD_ENTRY:
    return {
      ...state,
      [entryId]: {
        ...state[entryId],
        [entryName]: {
          [uniqueEntry]: true
        }
      }
    };
}
Run Code Online (Sandbox Code Playgroud)

知道我做错了什么吗?

ecmascript-6 reactjs ecmascript-7 redux react-redux

19
推荐指数
1
解决办法
2万
查看次数

将数组析构到对象属性键

我有一系列的值,如:

const arr = [1,2,3];
Run Code Online (Sandbox Code Playgroud)

有什么方法可以使用解构来创建以下输出?如果没有,我在ES6(或更高版本)中最简单的方法是什么?

const obj = {
    one: 1,
    two: 2,
    three: 3
};
Run Code Online (Sandbox Code Playgroud)

我试过这个,但我猜它不起作用,因为这是计算键的语法:

const arr = [1,2,3];
const obj = {
  [one, two, three] = arr
};
Run Code Online (Sandbox Code Playgroud)

javascript destructuring ecmascript-7 ecmascript-next

17
推荐指数
4
解决办法
7199
查看次数