小编Pio*_*ski的帖子

在Angular 1.6中可能无法处理拒绝

我有一个AngularJS代码:

service.doSomething()
  .then(function(result) {
      //do something with the result
  });
Run Code Online (Sandbox Code Playgroud)

在AngularJS 1.5.9中,当我在该.then()部分中有错误时:

service.doSomething()
  .then(function(result) {
      var x = null;
      var y = x.y;
      //do something with the result
  });
Run Code Online (Sandbox Code Playgroud)

我收到明确的错误消息:

TypeError:无法读取null的属性"y"

但是在版本1.6中使用相同的代码我得到了一个不同的错误:

可能是未处理的拒绝:{}未定义

我知道这与此更改有关,通过添加.catch()块,单个解决方案非常简单:

service.doSomething()
  .then(function(result) {
      var x = null;
      var y = x.y;
      //do something with the result
  })
  .catch(console.error);
Run Code Online (Sandbox Code Playgroud)

现在我再次拥有我想要的东西:

TypeError:无法读取null的属性"y"

但是如何在不在.catch()每个地方添加块的情况下为整个应用程序获得相同的结果(更详细的错误)?

我测试了建议的解决方案,通过添加:

$qProvider.errorOnUnhandledRejections(false);
Run Code Online (Sandbox Code Playgroud)

但有了这种情况甚至更糟 - 我在控制台中没有任何东西!错误被某处吞没,根本没有记录.我不确定AngularJS 1.6或我的配置是否有问题.

您是否有任何想法如何从1.5.9版"恢复"日志记录行为?

编辑:

添加定制错误处理程序

.factory('$exceptionHandler', function($log) {
  return function(exception, cause) {
    $log.warn(exception, …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angular-promise angular-providers angularjs-1.6

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

如何设置IntelliJ IDEA 14以尽可能添加"final"关键字?

我想设置我的IntelliJ IDEA 14,final以便在现有Java类的所有可能位置(参数,字段等)中自动添加关键字.我找到了一些带有宏和快捷方式的解决方案,但我想设置IntelliJ final在保存文件时添加关键字.有谁知道这个很好的解决方案?也许你可以推荐一些插件或插件的组合?

java final intellij-idea intellij-14

20
推荐指数
3
解决办法
6234
查看次数

Taglib显示java.time.LocalDate格式

我想java.time.LocalDate在我的JSP中显示格式化.你知道用于此的任何taglib吗?

因为java.util.Date我们正在使用<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>.java.time.LocalDate存在类似的东西吗?

java jsp date taglib java-8

10
推荐指数
2
解决办法
6154
查看次数

字段和field.keyword之间的区别

如果我在Elasticsearch索引中添加包含多个字段的文档,则在Kibana中查看该文档时,每次获得相同字段的次数都是两次。其中之一将被称为

some_field
Run Code Online (Sandbox Code Playgroud)

而另一个将被称为

some_field.keyword
Run Code Online (Sandbox Code Playgroud)

这种行为从何而来?两者之间有什么区别?

PS:其中一个是可聚合的(不确定这是什么意思),另一个(无关键字)不是可聚合的。

elasticsearch kibana

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

simple_query_string 和 query_string 哪个更好?

弹性搜索simple_query_string和之间有什么区别?query_string

哪个更适合搜索?

在elasticsearch的simple_query_string文档中,是这么写的

与常规query_string查询不同,该simple_query_string查询永远不会抛出异常并丢弃查询的无效部分。

但还不清楚。哪一个更好?

elasticsearch

8
推荐指数
1
解决办法
8067
查看次数

如何使用Hibernate将java.time.LocalDateTime映射到H2数据库中的TIMESTAMP?

我有一个基于Java 8的项目构建.我有一个实体和java.time.LocalDateTime creationDate属性.在数据库中,该列是TIMESTAMP与Oracle一致的.不幸的是,默认情况下H2数据库将其LocalDateTime视为BINARY值.触发查询时,应用程序失败,并在LocalDateTime属性和TIMESTAMP列之间进行转换.

如何强制H2转换LocalDateTimeTIMESTAMP列而不是BINARY

编辑:看起来它不是H2的问题,但它来自Hibernate(v.5.0.12).即使在这里:https://www.thoughts-on-java.org/hibernate-5-date-and-time/我们应该将它映射到TIMESTAMP.

java.lang.IllegalArgumentException: aced00057372000d6a6176612e74696d652e536572955d84ba1b2248b20c00007870770e05000007e106150e202e02160ec078
at org.h2.util.DateTimeUtils.parseDateValue(DateTimeUtils.java:313) ~[h2-1.4.194.jar:1.4.194]
at org.h2.value.ValueTimestamp.parseTry(ValueTimestamp.java:140) ~[h2-1.4.194.jar:1.4.194]
at org.h2.value.ValueTimestamp.parse(ValueTimestamp.java:120) ~[h2-1.4.194.jar:1.4.194]
at org.h2.value.Value.convertTo(Value.java:931) ~[h2-1.4.194.jar:1.4.194]
at org.h2.table.Column.convert(Column.java:149) ~[h2-1.4.194.jar:1.4.194]
at org.h2.command.dml.Insert.insertRows(Insert.java:143) ~[h2-1.4.194.jar:1.4.194]
at org.h2.command.dml.Insert.update(Insert.java:114) ~[h2-1.4.194.jar:1.4.194]
at org.h2.command.CommandContainer.update(CommandContainer.java:101) ~[h2-1.4.194.jar:1.4.194]
at org.h2.command.Command.executeUpdate(Command.java:258) ~[h2-1.4.194.jar:1.4.194]
at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:160) ~[h2-1.4.194.jar:1.4.194]
at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:146) ~[h2-1.4.194.jar:1.4.194]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_65]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_65]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_65]
at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_65]
at org.apache.tomcat.jdbc.pool.StatementFacade$StatementProxy.invoke(StatementFacade.java:114) …
Run Code Online (Sandbox Code Playgroud)

java hibernate h2 java-8 java-time

6
推荐指数
2
解决办法
4632
查看次数

npm outdated命令显示当前版本中的MISSING

我在package.json文件中的devDependencies中指定的版本7.3.0中有babelify,如下所示:

"devDependencies": {
  ...,
  "babelify": "7.3.0",
  ...
}
Run Code Online (Sandbox Code Playgroud)

一切都很顺利,依赖从npm下载,但是当我运行npm outdated命令时,我得到了:

Package       Current  Wanted        Latest  Location
babelify      MISSING   7.3.0         7.3.0  project
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?为什么会失败?你有这种情况吗?

javascript node.js npm package.json

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

弹性搜索中的查询与过滤器

我正在尝试索引一个文档,该文档具有三个字段 first_name、last_name、“关键字”类型的职业,并且分别具有值 XYZ、ABC、DEF。

我已经使用过滤器编写了与 AND 条件完全匹配的查询,如下所示,

"query": {
  "bool": {
    "filter": [
      {"term": {"first_name": "XYZ"}},
      {"term": {"last_name": "ABC"}}
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

这必须返回一个文档,但什么都不返回。

我对同一操作有另一个查询,

"query": {
  "bool": {
    "must": [
      {"match": {"first_name": "XYZ"}},
      {"match": {"last_name": "ABC"}}
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

这将返回一个文档。

根据 Elasticsearch 文档,我了解查询和过滤器之间的区别在于过滤器不会对结果进行评分。我不确定为什么第一个查询不返回任何结果。我的理解正确吗?

elasticsearch

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

Elasticsearch 中多个字段的术语聚合

我正在尝试从 Elasticsearch 获取一些数据。我有一个疑问:

GET index/_search
{
  "aggs": {
    "first-metadata": {
      "terms": {
        "field": "filters.metadata.first-metadata"
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

作为回应,我得到了类似的信息:

"aggregations": {
  "first-metadata": {
    "buckets": [
      {
        "key": 87000,
        "doc_count": 2
      },
      {
        "key": 100000,
        "doc_count": 1
      }
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

一切都如我所料。但问题是我有多种元数据类型:first-metadatasecond-metadata并且third-metadata我想要类似的东西:

"aggregations": {
  "first-metadata": {
    "buckets": [
      {
        "key": 87000,
        "doc_count": 2
      },
      {
        "key": 100000,
        "doc_count": 1
      }
    ]
  },
  "second-metadata": {
    "buckets": [
      {
        "key": 5555,
        "doc_count": 24
      },
      {
        "key": 2222, …
Run Code Online (Sandbox Code Playgroud)

elasticsearch

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

如何从Groovy中的对象获取嵌套属性值?

考虑在Groovy中你有类型的情况Company:

class Company {
  def name
  def contactPerson
}
Run Code Online (Sandbox Code Playgroud)

contactPersonContact类型:

class Contact {
  def firstName
  def lastName
  def email
}
Run Code Online (Sandbox Code Playgroud)

然后我们有公司类的实例:

def stackOverflow = new Company(
  name: "Stack Overflow",
  contactPerson: new Contact(
    firstName: "Joel",
    lastName: "Spolsky",
    email: "joel.spolsky@stackoverflow.com"
  )
)
Run Code Online (Sandbox Code Playgroud)

在Groovy中,我们很简单:

assert stackOverflow.contactPerson.firstName == "Joel"
Run Code Online (Sandbox Code Playgroud)

要么:

assert stackOverflow['contactPerson']['firstName'] == "Joel"
Run Code Online (Sandbox Code Playgroud)

并且:

assert stackOverflow.name == "Stack Overflow"
Run Code Online (Sandbox Code Playgroud)

要么:

assert stackOverflow['name'] == "Stack Overflow"
Run Code Online (Sandbox Code Playgroud)

甚至:

def fieldName = 'name'
assert stackOverflow.${fieldName} == "Stack Overflow"
Run Code Online (Sandbox Code Playgroud)

但是假设我们有:

def …
Run Code Online (Sandbox Code Playgroud)

groovy

3
推荐指数
1
解决办法
325
查看次数

使用Hibernate Search搜索忽略UTF-8字符

我刚刚实现了基于Hibernate Search的全文搜索引擎.

我正在寻找一个问题的解决方案.我有波兰语(UTF-8)字符的文本,例如:"zażółćgęśląjaźń".当我在搜索"jaźń"时,一切正常,结果就找到了.但是当我在寻找"jazn"时,结果却找不到.

我想搜索所有可能的术语:"jaźń","jazń","jaźn"和"jazn",并找到搜索到的"zażółćgęśląjaźń"文本.如何配置Hibernate Search?

java lucene full-text-search utf-8 hibernate-search

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