问题标签 [dart-2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
313 浏览

javascript - 从 Dart 转换为 Javascript 时,Dart2JS 无法运行异步代码

这是我的代码示例,index.dart. 它在我的网络文件夹中。

我跑webdev build编译成js。

当我dart web/index.dart在我的网络文件夹中运行时,我得到了预期的输出

当我跑步node build/index.dart.jsindex.js我只得到

异步代码是否正在运行,这是预期的行为吗?

完整输出太长,无法发布。

重现步骤:

touch testcompile.dart

添加代码

dart2js -O2 -o index.js testcompile.dart

node index.js

0 投票
2 回答
7172 浏览

generics - 在 Dart 中使用泛型类型参数回调

我正在尝试定义一个需要接受泛型参数并返回相同类型值的回调函数。请记住,以下示例是我实际需要的过度简化版本。

这会导致以下错误,我似乎无法摆脱。

唯一可行的方法是给值一个类型,但这首先违背了使用类型参数的目的。

我需要它是通用的,以便调用者可以传递它期望的类型作为回报。我还需要将它存储在一个变量中,所以我可以将它作为回调函数传递。

如果这不是直接可能的,您知道任何解决方法吗?先感谢您。


如果要求不明确,这里有一个更完整的示例。

烦人的事情是,Dart 实际上知道它foo.provide(StringProvider())会返回一个字符串,而 usingNumberProvider确实会返回一个整数,然而,对于变量实际赋予值的行,错误仍然会上升。

0 投票
0 回答
260 浏览

dart - 如何使用 build_runner 在 dart2 中导入生成的源代码?

我想创建一个可以即时Builder创建课程的课程。Env该类应该可以在我的项目中的任何地方导入。它是定义的环境常量的容器build.yml

生成器本身工作正常,它会生成所需的输出,但是当我运行时

构建失败并显示以下消息

[严重] build_web_compilers:web/main.dart 上的入口点:无法找到某些源的模块,这通常是由于导入错误、包中缺少依赖项(或者可能是 dev_dependency 需要移动到真正的依赖项) ),或构建失败(如果导入生成的文件)。

请检查以下导入:

import '../.dart_tool/build/generated/buildertest/lib/environment.g.dart'; 来自 buildertest|web/main.dart 在 2:1

[INFO] 运行构建完成,耗时 4.1 秒 [INFO] 缓存最终依赖图完​​成,耗时 450 毫秒 [严重] 4.6 秒后失败

单独导入是可以的,因为当我运行以下代码段时它工作正常

dart web/main.dar

应该怎么做才能使这个导入有效?

这是build.yaml

0 投票
1 回答
107 浏览

dart - NNBD:String 和 Null 的最小上限

在为 Dart Analyzer 中的某些问题打补丁时,我需要了解 Null 本身是否被视为可空类型。

目前,Dart 的类型代数为 String 和 Null 计算的最小上界是 String。

但是,在我看来,String 和 Null 的类型联合是可以为空的 String。

有补丁的票:https ://github.com/dart-lang/sdk/issues/38585注意补丁还是有把T扩大到T的bug?如果闭包同时返回 T 和 null。

奖金问题(票https://github.com/dart-lang/sdk/issues/38623):Null 本身是可以为空的类型,应该以'?'为后缀吗?

我的观点是矛盾的证明(LUB 是最小上限函数):

  • 假设 Null 不可为空。
  • 这意味着 Null 和 Null?是不同的类型。
  • LUB(T, Null) = T?,即结合 T 和 Null 将 T 扩大到 T?
  • 因此,LUB(Null, Null) = Null?
  • 这违反了 LUB 的自反性,这意味着 LUN(Null, Null) = Null
  • 因此假设是错误的。
0 投票
1 回答
69 浏览

dart - Dart 1 书籍是否仍然与学习 Dart 2 相关

我在很多地方读到 Dart 2 并不完全向后兼容 Dart。我找到了适用于 Dart 1.x 的书籍列表

https://dart.dev/resources/books

有 Dart 1 和 Dart 2 经验的人可以告诉我这本书是否与学习 Dart 2 相关,我可以使用它们还是我应该等待一些 Dart 2 书籍的发布。

我不确定这是否是此类问题的相关位置,但我没有在 Stack Exchange 网络中找到更适合的内容。

0 投票
2 回答
1320 浏览

function - Flutter,如何减少重复的小部件

谢谢你帮助我。

我想要做的是减少下面代码的重复;

有没有办法可以在函数或方法之上创建并在下面插入代码?

0 投票
2 回答
696 浏览

flutter - .cast() 和 List.from() 和 List.castFrom() 有什么区别

List foo -> List bar
我可以使用三种方法

有什么区别?

0 投票
1 回答
129 浏览

dart - Dart 2 与 TypeScript 的 typeof 等价物是什么?

我是 Dart 2 的新手。我希望一个类有一个属性。这是其他类的参考。它不是一个实例,而是类本身。在 TypeScript 中,可以编写如下。Dart 2中是否有相同的方法?


更新:
我添加了更多上下文。以下是最小的示例代码。我想将实例化的角色委托给超类。

0 投票
0 回答
86 浏览

parsing - Dart2 语法无法识别集合文字

我正在使用来自https://github.com/antlr/grammars-v4/blob/master/dart2/Dart2.g4的语法,并尝试识别集合文字,tehre 是https://中的示例示例dart.dev/#try-dart,但语法不识别“var”,在这种情况下,像 dict 集甚至列表这样的文字,可能在 antlr4 中无法识别,因为它没有定义这样做,但希望有帮助找出问题的根源,也许我做错了什么......

0 投票
3 回答
16560 浏览

flutter - 参数类型“对象”不能分配给参数类型“ImageProvider”'

I just updated to Dart2 and Flutter sdk: '>=2.12.0 <3.0.0' and now this if statement breaks:

 decoration: new BoxDecoration(
              shape: BoxShape.circle,