【发布时间】:2022-10-02 08:35:38
【问题描述】:
我想创建一个StreamController 接受来自特定的输入数据类型,例如double 并提供另一个数据类型作为输出,例如String?
例子:
30.0 ---> [STREAM CONTROLLER] ---> \"$30.00 USD\"
标签: flutter dart asynchronous stream
我想创建一个StreamController 接受来自特定的输入数据类型,例如double 并提供另一个数据类型作为输出,例如String?
例子:
30.0 ---> [STREAM CONTROLLER] ---> \"$30.00 USD\"
标签: flutter dart asynchronous stream
要创建此逻辑,您可以将StreamControllers 链接在一起以获得如下内容:
Input Data ---> [FIRST CONTROLLER] ---> ⚙ ---> [SECOND CONTROLLER] ---> Output Data
这是?的食谱:
StreamControllers,第一个来自type输入数据第二个来自type输出数据.sink 添加数据和第二控制器stream 获取数据。
代码示例???:(笔记:此代码在问题示例中实现相同的逻辑)
import 'dart:async';
void main() {
// Streams Setup:
final priceInputController = StreamController<double>();
final priceOutputController = StreamController<String>();
priceInputController.stream.listen((price){
final priceAsString = '\$${price.toStringAsFixed(2)} USD';
priceOutputController.sink.add(priceAsString);
});
priceOutputController.stream.listen((price){
print(price);
});
// Usage:
priceInputController.add(30);
}
输出:
$30.00 USD
就是这样???
笔记:您可以从这个link 直接在DartPad 找到并运行这个代码示例。
【讨论】: