问题标签 [dartz]

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 回答
181 浏览

flutter - dartz:函数中的异常未在尝试中捕获

我正在使用dartz颤振。我想按照本文中的建议将 Either 类型与所有 API 调用一起使用

下面是我将 API 包装到 Task 的方式

我希望attempt()应该抓住所有的投掷作为ApiException. 目前它给出了错误type 'Future<Either<ApiException, dynamic>>' is not a subtype of type 'FutureOr<Either<ApiException, SendOtpDto>>

下面是我如何使用 Api

0 投票
1 回答
592 浏览

flutter - 在 Freezed 中,是否可以从已经存在的冻结数据类创建联合案例

我正在使用freezed包来创建我的 json 解析器和数据类。到目前为止,我正在使用dartz的包来创建 Union 案例并在 Flutter 小部件中处理它们。例如,我的一些 Union 类如下所示。

我在我的颤振小部件的构建器中使用它们,方法是折叠它们并为每种情况返回特定的小部件。例如。

我使用 freezed 包创建了ApiFailureModelA和作为数据类。ModelB我知道 freezed 带有类似的 Union 类支持,例如 dartz,我们可以在其中定义联合案例。因此,我尝试按如下方式使用它们,并且根据我最初的理解,使用已经存在的数据类例如是不可能实现以下目标的。ModelA andApiFailure`。

ApiFailure请注意,在上述两个联合类中,我正在重新定义ApiResult2我要避免的。

问题:是否可以利用现有的数据类来构建一个联合类,这样我就不必为了改变ApiFailure对象的结构而进行多次更改。希望我的问题很清楚。

0 投票
0 回答
709 浏览

flutter - 使用 dartz 选项> 如何设置为无

我正在尝试使用一种类型Option<Either<T,T>并希望将其设置为 anone()但这会导致错误失败Invalid constant value.dart(invalid_constant)

如何将选项设置为无或未定义状态。

0 投票
1 回答
1667 浏览

flutter - 获得选项> 在 Flutter 中解压

在我的集团州,我有这个:

它可以是空的 ( Option) 或有一个errorstream

在我bloc这样的情况下optionOf

现在在我的小部件中,我想知道它是否有一个值,如果它有一个值,我想折叠它们以返回两个不同的屏幕:

但不知何故,我无法摆脱这种Option<T>类型。它抱怨错误的类型。

我认为有一种非常简单的方法可以做到这一点。如果您对这些概念不熟悉,我很难找到任何与 dart/flutter 相关的手册,并且源代码dartz不是很容易解释。

0 投票
1 回答
281 浏览

flutter - 与 expect() 函数比较时,包含 List 的 Dartz Right 会抛出错误

像这样的简单代码

抛出错误:

我究竟做错了什么?两个列表是相同的,并且都具有相等的元素。

0 投票
1 回答
567 浏览

dart - 从 Dartz 中的不同 Either 返回一个 Either 对象

我在 Dart 中有一个函数,我想返回一个 Either 值来传播一个失败(左)或一个对象(右)。这些数据依赖于 Dart 中类似 this 的函数中的不同 Either 值,但目前它返回 null,即使输入 Either 返回一个(正确的)值。

User.fromJson 函数已经过测试并且运行良好,但我无法返回 Either 对象

0 投票
1 回答
525 浏览

flutter - 如何使用 dartz 在颤振中重构功能错误处理

我有两种方法

在折叠后的init方法上,我需要做更多的错误处理,但我不喜欢嵌套太多我的代码。我也不知道如何Failureright函数中返回 a 。

链接这些价值观的更好方法是什么?

0 投票
1 回答
749 浏览

flutter - Flutter 应用程序:无法返回类型为“Either”的值" from 方法,因为它的返回类型为 "Either"

无法弄清楚这一点 - 特别是 VSCode 和 Android Studio 中的类型错误告诉我类型是相同的。

错误:

版本:

在“执行”方法的返回语句中,此类中发生 Dart 分析器错误:

故障等级:

DailyThought类:

回购类:

0 投票
1 回答
140 浏览

flutter - 如何从任何一个访问失败的值?

在下面的示例中,我们有:

  • 类型:Either<RangedNumberValueFailuresAbstract<int>, int>
  • 如果没有错误:right(number)
  • 如果错误:left(RangedNumberValueFailuresAbstract.invalidNumber(failedNumberValue: number))

如果我们需要访问 (failedNumberValue: number) 中的 failedNumberValue,我们该怎么做呢?

示例

上面使用了以下使用 Freezed 包的抽象类。

0 投票
0 回答
737 浏览

flutter - 如何在 Dart 中定义 lambda 函数的返回类型?

我尝试使用类型安全参数创建存储库。为此,我将函数参数创建为 typedef 并使用Dartz 包,以便能够返回失败或所需的结果。

问题是,如果我想传递 typedef 类型的参数,我必须创建一个特定的函数。

当我按照我的意愿直接将相同的函数体作为 lambda 函数传递时,会出现运行时错误:

type 'Right<Failure, dynamic>' 不是类型 'FutureOr<Either<Failure, Storage>>' 的子类型

这没什么大不了的,但也许有人可以启发我,我如何在这里使用 lambda 函数,或者如果我使用 lambda 函数,为什么会出现此错误。