我对 dart 很陌生,想知道这个“包装”的功能到底是做什么的?它就像一个带有“connectUnits(userRepo)”的普通函数一样被调用:
void Function(
Store<AppState> store,
dynamic action,
NextDispatcher next,
) connectUnits(
UnitsRepository unitsRepository,
) {
return (store, action, next) {
unitsRepository.units().listen((units) {
store.dispatch(LoadUnitsAction(units));
next(action);
});
};
}
Run Code Online (Sandbox Code Playgroud)
谢谢 & 最好的,迈克尔
函数是 Dart 中的一等公民。您的示例定义了一个名为的函数connectUnits,该函数返回一个带有签名的函数void Function(Store<AppState> store, dynamic action, NextDispatcher next)。
为了更好地理解,您的代码与以下内容相同:
// define a kind of function
typedef MyFunction = void Function(Store<AppState> store, dynamic action, NextDispatcher next);
MyFunction connectUnits(UnitsRepository unitsRepository) {
return (store, action, next) {
unitsRepository.units().listen((units) {
store.dispatch(LoadUnitsAction(units));
next(action);
});
};
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3807 次 |
| 最近记录: |