我正在升级我的构建以尽可能多地使用新的宏语法,但我遇到了一个flatMap
我不知道如何处理的问题。
假设我曾经有以下形式的任务
myTask <<= (foo, bar) flatMap { (x, y) => someFunctionProducingATask(x, y, 5) }
现在,Def.taskDyn
看起来隐约有希望,但不太合适。把它翻译成天真的东西是行不通的:
myTask <<= Def.taskDyn {
val x = foo.value
val y = bar.value
someFunctionProducingATask(x, y, 5) // ERROR: we need an Initialize[Task[...]], but have a Task[...]
}
Initialize
感觉很单调,但我找不到pure
它,所以我不知道如何将我的任务投入其中,或者这是否是可取的。除了建议我使用taskDyn
. 有人在这里有什么想法吗?