小编cro*_*raf的帖子

在ES6中更改导入变量的值

我正在使用ES6模块并将变量moduleA导入moduleB:

//moduleA.js
let a = 5;
let b;

export { a, b };

//moduleB.js
import { a, b } from './moduleA'

a = 6;
b = 1;
Run Code Online (Sandbox Code Playgroud)

但是在改变/分配方面,moduleB我遇到了错误,例如:

a = 6;

ReferenceError:未定义a

在另一方面,我可以console.log(a)moduleB.

它接缝不可能分配给导入的变量?这是真的还是我错过了这样做的方法?为什么这不可能?

javascript import ecmascript-6

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

预计会返回箭头值; function array-callback-return.为什么?

我有一些问题需要理解为什么我会在这段反应代码上收到编译警告

fetch('/users')
        .then(res => res.json())
        .then(data => {
            data.map(users => {
                console.log(users);
            });
        });
Run Code Online (Sandbox Code Playgroud)

我得到的警告是 Expected to return a value in arrow function array-callback-return

但是我仍然从我的json对象值中获取/users它们,并且它们被单独打印到控制台.对象是:

    {
        id: 1,
        username: "Foo"
    }, {
        id: 2,
        username: "Bar"
    }
Run Code Online (Sandbox Code Playgroud)

我错过了一个返回语句,或者我错过了一些关于如何map返回值的东西.then()?我不清楚为什么编译警告会出现.

javascript arrays ecmascript-6 arrow-functions

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

简单工厂和工厂方法模式的动机

我知道有很多关于不同工厂模式的差异的问题,但答案是如此不同和令人困惑.我读过的书籍使用不清楚和(简化)简化的例子.即使在阅读维基百科的解释之后,我也有很多问题,以及关于它们的大量在线解释,包括所有这些网站上的解释.我正在阅读的这本书是Head First Design Patterns.

在Simple Factory中,客户端使用单独的类(Creator)和工厂方法(可以是静态的)来返回Products.

在工厂方法模式中,创建者和客户端是相同的东西,他们在同一个类中使用抽象方法来创建新的产品,它们在同一个类中运行.当然,造物主(或客户)是抽象的,因此关于制作混凝土产品的决定被推迟到子类.

  1. 我的理解是否正确(例如,FMP中的客户端和创建者是同一件事,我从未在FMP图中看到客户端)?

  2. 在Factory Method Pattern中,它表明create方法不能在Creator之外重用,所以它只能在创建一个新的Creator时重用?

  3. 在哪种情况下我可以选择一个而不是另一个?

(PS请不要将此标记为重复,我希望在此网站上明确这一点)

java oop design-patterns factory factory-pattern

8
推荐指数
2
解决办法
4897
查看次数

什么是全局错误(在春季验证中)?

我正在检查 spring-validation Errors( BindingResult) 接口。它提到了与现场错误相对照的全局错误。什么是全局错误?

validation binding spring spring-validator

6
推荐指数
1
解决办法
2845
查看次数

babel-eslint不允许动态导入

我使用webpack 2,并且想进行动态导入。Linter在动态导入(即import(...))时出现以下错误:

[js]声明或声明。(JSX属性)导入:true。

我有以下.eslintrc(摘录):

{
  "parser": "babel-eslint",
  "parserOptions": {
    "allowImportExportEverywhere": true
  }
}
Run Code Online (Sandbox Code Playgroud)

已安装以下内容:

"eslint": "^3.16.1",
"babel-eslint": "^7.2.3",
"babel-plugin-dynamic-import-webpack": "^1.0.1",
"babel-plugin-syntax-dynamic-import": "^6.18.0",
Run Code Online (Sandbox Code Playgroud)

babelrc配置:

{
    "presets": [
    "es2015",
    "react"
    ],
    "plugins": ["syntax-dynamic-import", "dynamic-import-webpack"]
}
Run Code Online (Sandbox Code Playgroud)

更新:发生错误的示例(反应式应用)。(这里的错误只是[js] Declaration or statement expected):

const App = () => {

    import('./routes/Main/Main').then((Main) => {});
    return(<div />);
};
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 eslint webpack babeljs

5
推荐指数
1
解决办法
4467
查看次数

Visual Studio代码的editorconfig

我的项目有.editorconfig文件:

[*.{js}]
charset = utf-8
indent_style = space
indent_size = 4
Run Code Online (Sandbox Code Playgroud)

我认为这将强制我的VS代码使用4个空格的缩进样式空间.

EditorConfig for vs code从扩展名列表中安装了扩展程序.

但仍然没有,我新创建的文件不会自动设置配置的空间样式.问题是什么?

visual-studio-code editorconfig

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

material-ui v.1 - 用主题定义组件的背景

我正在为 React 使用 material-ui v.1 库,并且想要设置Paper组件的背景。

我想使用主题来做到这一点。

我正在使用顶级

const theme = createMuiTheme({
    palette: {
        //type: 'light'
    }
});

<MuiThemeProvider theme={theme}>
</MuiThemeProvider>
Run Code Online (Sandbox Code Playgroud)

我应该投入什么createMuiTheme来做到这一点?

我尝试了几个选项(如palette:{paper: {backgroundColor: 'black'}}、 和paper: {backgroundColor: 'black'}、 和backgroundColor: {paper: 'black'}),但没有任何效果。

注意:type: 'light'type: 'dark'工作正常。

reactjs material-ui

4
推荐指数
1
解决办法
2358
查看次数

在方法调用之前中断阻塞方法

我正在读这本书,(O'Reillys Java Threads 3rd ed.,现在有非常糟糕的解释),我遇到过这段代码:

//in RandomCharacterGenerator class
public void run( ) {
    while (!isInterrupted()) {
            nextCharacter( );
            try {

                Thread.sleep(getPauseTime( ));

            } catch (InterruptedException ie) {
                return;
            }
    }
}
Run Code Online (Sandbox Code Playgroud)

以下解释(生成器是主线程中上层类的实例):

producer.interrupt( );
Run Code Online (Sandbox Code Playgroud)

如果主线程在RandomCharacterGenerator线程处于休眠状态时执行此语句,则RandomCharacterGenerator线程将获取中断的异常并立即从run()方法返回.否则,当字符输入线程接下来到达其循环的顶部时,它会看到已设置中断标志并从其run()方法返回.无论哪种方式,随机字符生成器线程完成其任务.

请注意,此技术并不能完全消除在线程被要求停止后我们睡眠一段时间的可能性.在RandomCharacterGenerator调用isInterrupted()方法之后,主线程可以调用interrupt()方法.字符读取线程仍然执行sleep()方法,该方法不会被中断(因为主线程已经完成了interrupt()方法).这是我们在下一章中解决的竞争条件的另一个例子.由于这种情况下的竞争条件是良性的(这只意味着我们再睡一次比我们想要的时间),这对我们的目的来说已经足够了.

第二段对我来说完全不清楚.我的第一个问题是:我们怎么能再睡一个周期?如果我们在睡觉时中断线程就会失去运行,如果我们在睡眠前中断它会在睡眠开始时中断睡眠(我测试过,我认为这是真的吗?我是对的),如果我们在睡觉后打断它会制动回路.

第二个问题:在这个例子中(这是书中的整个代码)是完全没必要的检查循环,并且它可以在(真实)具有相同结果的情况下站立,因此关于循环顶部的第一段是完全废话?

java multithreading interrupt race-condition

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

Cassandra数据模型 - 列族

我在这里查了一些问题,比如理解Cassandra数据模型Column-family概念和数据模型,以及一些关于Cassandra的文章,但我还不清楚它的数据模型是什么.

Cassandra遵循列族数据模型,类似于键值数据模型.在列族中,您有行和列中的数据,因此二维结构,除此之外,您还有列族中的分组?我想这是在列族中组织的,以便能够跨多个节点对数据库进行分区?

行和列如何分组为列族?为什么我们有列系列?

例如,假设我们有消息数据库,如行:

id: 123, message: {author: 'A', recipient: 'X', text: 'asd'}
id: 124, message: {author: 'B', recipient: 'X', text: 'asdf'}
id: 125, message: {author: 'C', recipient: 'Y', text: 'a'}
Run Code Online (Sandbox Code Playgroud)

我们如何以及为什么围绕列族数据模型组织这个?

注意:如有必要,请更正或扩展示例.

database data-modeling cassandra nosql column-family

0
推荐指数
1
解决办法
117
查看次数