小编ale*_*tes的帖子

如何在switch语句中使用instanceof

我使用自定义错误(es6-error)允许我根据他们的类处理错误,如下所示:

import { DatabaseEntryNotFoundError, NotAllowedError } from 'customError';

function fooRoute(req, res) {
  doSomethingAsync()
    .then(() => {
      // on resolve / success
      return res.send(200);
    })
    .catch((error) => {
      // on reject / failure
      if (error instanceof DatabaseEntryNotFoundError) {
        return res.send(404);
      } else if (error instanceof NotAllowedError) {
        return res.send(400);
      }
      log('Failed to do something async with an unspecified error: ', error);
      return res.send(500);
    };
}
Run Code Online (Sandbox Code Playgroud)

现在我宁愿为这种类型的流使用开关,导致类似于:

import { DatabaseEntryNotFoundError, NotAllowedError } from 'customError';

function fooRoute(req, res) {
  doSomethingAsync()
    .then(() …
Run Code Online (Sandbox Code Playgroud)

javascript error-handling ecmascript-6

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

如何使用 Rust 跟踪记录跨度持续时间?

Rust 有一个看起来很受欢迎的跟踪库。它使用一个名为“span”的构建块:

跨度表示程序执行的时间段。

现在我已经在整个应用程序中设置了跨度,我如何实际记录它们的持续时间?

到目前为止我发现:

  • 追踪计时。很棒,但有点复杂,当我想要简单的持续时间时,打印整个直方图。
  • 追踪树。这个非常接近我正在寻找的东西,目前的设置对我来说失败了,我会弄清楚的,但是这个仍然将它们打印在一棵树中,我正在寻找更多的简单持续时间。没有树。

有什么办法可以通过追踪来做到这一点吗?

rust rust-tracing

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

Rust 中 u64 unix 时间戳的 Chrono DateTime

如何将 u64 unix 时间戳转换为DateTime<Utc>?

let timestamp_u64 = 1657113606;
let date_time = ...
Run Code Online (Sandbox Code Playgroud)

datetime rust rust-chrono

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

使用 git 删除函数及其文档块时如何创建适当的补丁

当您在多个函数之上有 docblocks 时,删除一个函数会创建一个次优补丁。

索引.js:

/**
 * Function foo description.
 */
function foo() {}

/**
 * Function bar description.
 */
function bar() {}
Run Code Online (Sandbox Code Playgroud)

删除函数 foo 及其文档块会生成以下补丁:

diff --git a/index.js b/index.js
index f4e18ef..933004f 100644
--- a/index.js
+++ b/index.js
@@ -1,9 +1,4 @@
 /**
- * Function foo description.
- */
-function foo() {}
-
-/**
  * Function bar description.
  */
 function bar() {}
Run Code Online (Sandbox Code Playgroud)

这意味着任何合并带来的提交触及函数 foo 和函数 bar 之间的空间现在都会导致冲突。例如,假设我们feature-1在删除 foo 之前创建了一个分支,并在两者之间index.js添加了一个函数foobar。冲突如下:

/**
<<<<<<< HEAD
=======
 * Function …
Run Code Online (Sandbox Code Playgroud)

git

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