Flutter 如何合并不同类型的StreamController?
我需要合并不同类型的流:Flutter 如何合并不同类型的StreamController?,flutter,Flutter,我需要合并不同类型的流: enum ApiKeyLoadingState {Done, Error, Progress} enum RegionsLoadingState {Done, Error, Progress} enum IndustryLoadingState {Done, Error, Progress} class TenderApiProvider extends ChangeNotifier { ApiKeyLoadingState apiKeyLoadingState;
enum ApiKeyLoadingState {Done, Error, Progress}
enum RegionsLoadingState {Done, Error, Progress}
enum IndustryLoadingState {Done, Error, Progress}
class TenderApiProvider extends ChangeNotifier {
ApiKeyLoadingState apiKeyLoadingState;
RegionsLoadingState regionsLoadingState;
IndustryLoadingState industryLoadingState;
static StreamController <ApiKeyLoadingState>streamApiKeyController = StreamController();
static StreamController <RegionsLoadingState>streamRegionsLoadingController = StreamController();
static StreamController <IndustryLoadingState>streamIndustryLoadingController = StreamController();
var resultController = StreamGroup.merge([streamApiKeyController, streamRegionsLoadingController, streamIndustryLoadingController]);
}
enum ApiKeyLoadingState{Done,Error,Progress}
枚举区域加载状态{完成,错误,进度}
枚举行业分类状态{完成,错误,进度}
类提供程序扩展了ChangeNotifier{
ApiKeyLoadingState ApiKeyLoadingState;
区域加载状态区域加载状态;
工业ADINGSTATE工业ADINGSTATE;
静态StreamController streamApiKeyController=StreamController();
静态StreamController StreamRegionLoadingController=StreamController();
静态StreamController streamIndustryLoadingController=StreamController();
var resultController=StreamGroup.merge([streamApiKeyController,streamRegionsLoadingController,streamindustryladingcontroller]);
}
我得到一个错误:
无法将元素类型“StreamController”分配给列表类型“Stream”
我不确定流是否应该是静态的
,但如果没有静态,我会得到错误:
在初始值设定项中只能访问静态成员
使用
final
并在TenderApiProvider
的构造函数中初始化resultController
而不是将流声明为static
,如下所示:
类提供程序扩展ChangeNotifier{
//…为了简洁起见,省略了一些声明
final StreamController。@DaGarden,我收到错误:'result'不能用作setter,因为它是final。请尝试查找其他setter,或使'result'非final
是!很抱歉,我从编辑器中复制了错误的代码段。我已修复它。结果流不能是final
,因为错误消息正确说明了这一点。