小编use*_*643的帖子

在浏览器中访问 HTTP/2 预告片

当前是否有任何浏览器支持在 HTTP/2 响应中访问预告片?

例如,最新的 Fetch API 规范提到预告片是通过 Response.trailer 公开的。有支持该功能的浏览器吗?

javascript browser http2 fetch-api

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

纱线不更新本地依赖关系

我有一个本地依赖package.json项,形式为“ pkg”:“ file:../ pkg”。

yarn 1.3.2该如何说服将pkg的新内容获取到node_modules

node.js yarnpkg

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

重写运算符==是否有助于避免重建?

我有一个无状态小部件

\n\n
class Foo extends StatelessWidget {\n  final String text;\n  A(this.text);\n  Widget build(BuildContext _) => Text(text);\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

让\xe2\x80\x99s 说我在小部件树中的某个位置创建了\xe2\x80\x98Foo\xe2\x80\x99 的实例,并且(很少)更改\xe2\x80\x98text\xe2\x80\x99。当然,每当我创建 \xe2\x80\x98Foo\xe2\x80\x99 的新实例时,即使它具有相同的 \xe2\x80\x98text\xe2\x80\x99,它的 \xe2\x80\x98build\xe2 \x80\x99 将被调用。

\n\n

引入 \xe2\x80\x99operator==\xe2\x80\x98 来检查 \xe2\x80\x98text\xe2\x80\x99 是否会避免重建?

\n\n

编辑:小部件树中仅放置了一个 \xe2\x80\x98Foo\xe2\x80\x99 实例,但它 \xe2\x80\x99 始终是每个父版本的新实例。

\n\n

编辑:

\n\n

我想我在 Flutter 代码库中找到了 \xe2\x80\x98framework.dart\xe2\x80\x99 中的位置:

\n\n
if (child.widget == newWidget) {\n    if (child.slot != newSlot)\n      updateSlotForChild(child, newSlot);\n    return child;\n  }\n
Run Code Online (Sandbox Code Playgroud)\n\n

因此,如果 Widget 覆盖 \xe2\x80\x98operator ==\xe2\x80\x98,则 \xe2\x80\x98equal\xe2\x80\x99 的同一 Widget 类的两个实例不会将子树标记为脏因此不会触发子树 \xe2\x80\x98build\xe2\x80\x99。

\n\n

因此,覆盖 \xe2\x80\x98operator ==\xe2\x80\x98 可以帮助优化性能!

\n\n

有人可以证实吗?

\n\n …

flutter

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

来自 package:stack_trace 的堆栈框架,其中需要 vm 或 web 框架

通常,异步操作中发生的堆栈跟踪首先会被切断await(异步挂起)。

所以,我用来Chain.capture获取完整的痕迹。

  Chain.capture(() {
    runApp(rootWidget);
  }, onError: (dynamic error, dynamic stackTrace) {
    reportError(error, stackTrace);
  });
Run Code Online (Sandbox Code Playgroud)

然而,Flutter 似乎不喜欢它,有时会抛出:

I/flutter ( 6384): The following assertion was thrown running a test (but after the test had completed):
I/flutter ( 6384): Got a stack frame from package:stack_trace, where a vm or web frame was expected. This can happen if
I/flutter ( 6384): FlutterError.demangleStackTrace was not set in an environment that propagates non-standard stack
I/flutter ( 6384): traces to the framework, …
Run Code Online (Sandbox Code Playgroud)

dart flutter

5
推荐指数
0
解决办法
1139
查看次数

元组成员的映射类型

我正在尝试创建一个映射元组,该元组可以深入了解成员的类型:

export type Argument<T = unknown> = {
  value: T;
};

export type TypesOf<T extends Argument[]> = {[Index in keyof T]: T[Index]["value"]};
Run Code Online (Sandbox Code Playgroud)

所以,TypesOf<[{value: number}, {value: string}]>应该产生[number, string].

但是,我收到此错误:

Type '"value"' cannot be used to index type 'T[Index]'.
Run Code Online (Sandbox Code Playgroud)

编辑:

应用@jcalz的解决方案后的额外问题:

const tuple = [{value: 1}, {value:"foo"}] as const;
type V = TypesOf<typeof tuple>;
Run Code Online (Sandbox Code Playgroud)

我收到错误:

Type 'readonly [{ readonly value: 1; }, { readonly value: "foo"; }]' does not satisfy the constraint 'Argument<unknown>[]'.
  The type 'readonly [{ readonly …
Run Code Online (Sandbox Code Playgroud)

typescript

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

提供受保护模板成员函数的公共专业化

我想做以下事情:

class Foo {
protected:
  template<Param>
  void operator()(const Param& param) {
     // stuff involving some RTTI magic
  }
public:
  void operator()(const A& param) should be operator()<A>;
  void operator()(const B& param) should be operator()<B>;
}
Run Code Online (Sandbox Code Playgroud)

基本上,我有一个泛型运算符(),它采用通用模板参数.但是,我只想发布类型安全的特定专业.

谢谢!

c++ c++11

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

Visual Code 不断更改 tsconfig.json 中包含的文件

从几个版本开始,当我在项目中添加或重命名文件时,Visual Code 会不断将单个文件添加到包含数组中,从而弄乱我的 tsconfig.json。

是否有任何设置告诉 VC 不要这样做?

typescript tsconfig

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

Visual Code for Tyescript 中的 Yarn 工作区

我有一个 Lerna/Yarn 工作区 monorepo,其中包含许多使用 TypeScript 的包。每个package.json包含一个tsconfig.json和一个脚本\xe2\x80\x9cbuild:compile\xe2\x80\x9d,该脚本调用tsc来编译源代码。

\n\n

我对可视化代码有两个问题:

\n\n
    \n
  1. 没有办法用一个命令来监视编译所有包。我只能对每个包单独运行 tsc watch,这相当麻烦。

  2. \n
  3. 转到另一个包中的声明总是跳转到已编译的 d.ts 文件,但不会跳转到源代码。

  4. \n
\n

typescript visual-studio-code

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

Apache karaf如何从Maven repo轻松安装捆绑包

我正在尝试使用Karaf并安装了一些捆绑X.这个捆绑包X抱怨缺少要求: Unresolved requirements ... osgi.wiring.package; (osgi.wiring.package=org.apache.commons.httpclient)]

因此,我试图提供通过bundle:install mvn:commons-httpclient/commons-httpclient/3.1其工作的org.apache.commons.httpclient .

但是,在尝试再次启动X后,我仍然得到相同的错误消息.

谢谢!

osgi apache-karaf karaf

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

在Kotlin中评估代码块(以将变量隐藏在范围内)

在Scala中,您可以编写

val x = {
  ... do some complex computations ..
  42
}
Run Code Online (Sandbox Code Playgroud)

将东西隐藏在代码块中。

我最接近科特林的是:

val x = {
  ... do some complex computations ..
  42
}()
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

编辑:

  • 不是run {}在上述例子本质上是相同
  • 通话费用昂贵吗?

回答:

  • 使用内run {}联,{}()但不使用内联(请参阅下面的我自己的答案)

kotlin

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