问题标签 [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 投票
2 回答
361 浏览

dart - 使用 dartz 中的 Either 时出现编译器错误

我目前正在试验颤振框架和飞镖,偶然发现了一个我无法理解的看似奇怪的行为。尽管实际问题发生的环境要复杂得多,但我什至能够在一个极其简化的展示中复制它:

虽然上面的示例编译不矛盾,但我确实收到以下示例的编译错误:

错误:“Left<String, dynamic>”类型的值不能分配给“Right<dynamic, int>”类型的变量

有没有人能够阐明这种方式?

################################################# ######

另一个例子:

}

这会编译但以运行时错误结束:类型“未来”不是类型“未来<Either<String, int>>”的子类型

然后,我尝试向编译器提供尽可能多的提示,以提出这种方法:

}

现在我得到: type 'Left<String, dynamic>' is not a subtype of type 'Either<String, int>' in type cast

我真的无法理解这个

0 投票
1 回答
72 浏览

flutter - Dartz 接口无效覆盖

我目前正在使用 dartz 包设置电话号码验证。我的 firebase_auth_facade.dart 继承自 i_auth_facade.dart 但是当我尝试设置电话号码验证功能时,我收到错误:

“FirebaseAuthFacade.verifyAndLinkPhoneNumber' ('Future<Either<AuthFailure, Unit>> Function(String, String)') 不是 'IAuthFacade.verifyAndLinkPhoneNumber' ('Future<Either<AuthFailure, Unit>> Function({字符串 smsCode,字符串验证 ID})')。”

这是我的代码:

i_auth_facade.dart:

firebase_auth_facade.dart:

有谁知道为什么后者不是有效的覆盖?谢谢!

0 投票
1 回答
394 浏览

flutter - 修复不可为空的 Dartz 包

我将我的项目移至 sdk 2.12 并尝试使用不可为空的废话更新我的代码。

现在我不明白如何修复 Dartz 包中的东西......

例子:

我被迫做出可以为空的响应,然后我不知道catch(error).

它说:参数类型“对象”不能分配给参数类型“异常*”。

这应该如何解决?

0 投票
1 回答
1645 浏览

dart - 'Null' 不能分配给参数类型'AccountType Function()'

有可能有人可以向我解释这里发生了什么。我对颤振和飞镖编程完全陌生,我已经在 youtube 上开始了一个使用 DDD 架构的视频教程,但我猜该教程没有使用该null safety功能附带的新版本颤振,并猜测这可能是测试的原因没有通过。我只是按照教程中的方式进行操作,唯一的区别是类名以及颤振和飞镖版本。

测试输出 The argument type 'Null' can't be assigned to the parameter type 'AccountType Function()'.

代码

0 投票
1 回答
561 浏览

flutter - what is the difference between either and Option in dartz?

i am trying to understand dartz, but the documentation is not clear enough. i need to get the difference between either and Option in dartz?

VS

0 投票
2 回答
565 浏览

flutter - 如何在flutter中将Either Right初始化为空值

我最近在我的颤振项目中切换到空安全,这在使用 Either 类型(来自 dartz 包)时带来了一种新的问题

例如,在我的类中有一些属性之前,如下所示:

然后我将有一个功能来获取产品,并在我看来消费它。

但是,现在有了 null 安全性,我需要初始化这个属性,因为它永远不应该为 null,而是我想要一个空列表。

如果我这样做

我收到这个错误

所以我的问题是,我怎样才能用一个空列表将此属性初始化为 Either 的正确值?

0 投票
0 回答
199 浏览

flutter - 如何在颤动中将Either的右侧转换为泛型类型

我有一个 Task 的扩展(来自 dartz 包),看起来像这样

这个扩展的目标是返回一个类型的值Either<Failure, U>

这工作正常,直到我将我的颤振项目切换到空安全。现在,由于某种原因,返回类型是Either<Failure, dynamic>.

在我的代码中,它看起来像这样:

我的问题是,如何将 Either 的右侧转换为正确的类型?

0 投票
1 回答
69 浏览

flutter - 如何将 fold 方法用于未来类型?

我有这个方法作为我的存储库:

现在我想在这里使用 fold 方法:

但我得到了这个错误:

0 投票
2 回答
195 浏览

flutter - Flutter:隔离Future的右手

iam 将 Riverpod 与 dartz 一起使用,nad iam 面临一个问题,即当使用带有我的函数的未来提供程序时,我也无法使用其中任何一个,我如何通过错误处理隔离我想要从函数中检索的内容!

我的提供商代码:

我的功能代码:

弹出的错误是:The return type 'Future<Either<ApiFailures, List<CourseModel>>>' isn't a 'Future<List<CourseModel>>', as required by the closure's context.

0 投票
1 回答
120 浏览

dart - Dartz - 离开 Either

我怎样才能得到任何一个的左侧并像上面的例子一样返回它?任何其他,也许更清洁的解决方案?