【发布时间】:2014-02-25 11:53:18
【问题描述】:
我正在尝试将以下 sn-p 从 Node.js 转换为 Dart。
self.emit('send_message_A', foo, bar, function(opt1, opt2) {
var avar= self.getSomeValue(foo, bar, opt1, opt2);
if(self.someCondition)
self.emit('send_message_B', foo, bar, avar);
});
非常感谢任何帮助。提前致谢。
编辑: 到目前为止,我已经尝试过:
typedef Future Next(String opt1, String opt2);
class Sender {
Stream<Next> get onSendMessageA => sendMessageA.stream;
final sendMessageA = new StreamController<Next>.broadcast();
SendMessage(fn) => sendMessageA.add(fn);
}
main() {
var sender = new Sender()
..onSendMessageA.listen((f) => f('option1', 'option2'))
.asFuture().then((value) => print('value: $value'));
Future<String> fn(String opt1, String opt2) {
print('opt1: $opt1');
print('opt2: $opt2');
return new Future.value('$opt1 - $opt2');
};
sender.sendMessageA(fn);
}
选项 1 和 2 被打印,但没有返回任何未来值。
【问题讨论】:
-
你试过什么代码有?还有,
self是什么对象? -
我会将其发布到问题中。
标签: javascript dart dart-async