Doo*_*o66 4 mule dataweave mulesoft
我正在学习Mule Dev 1课程,并且陷入模块内容和我在实践中看到的东西之间。
模块内容指出:
“使用一系列功能时,链中的最后一个功能将首先执行。”
所以
filghts orderBy $.price filter ($.availableSeats > 30)
Run Code Online (Sandbox Code Playgroud)
会“先过滤然后再排序”。
但是,我看到以下语句:
payload.flights orderBy $.price filter $.price < 500 groupBy $.destination
Run Code Online (Sandbox Code Playgroud)
实际上并不首先执行groupBy。实际上,将groupBy放置在其他任何地方都会引发错误(因为更改了groupBy之后的输出架构)。
对于显然为什么不是这样的情况,对于为何模块声明最后一个函数首先执行的问题,这里有何想法?
谢谢!
优先级对于(orderBy,groupBy等)都是相同的。因此,它将首先按价格执行orderBy,然后将其按价格进行过滤,最后将其按目的地分组。
dw 1((子3.x)和dw 2(m子4.x)相同。现在,它与DW版本之间的区别在于,在DW1中,所有这些以前都是lang运算符,但在DW 2中,它们只是使用中缀表示法调用的函数。因此,这意味着您可以使用前缀表示法来编写相同的内容
filter(
orderBy(filghts, (value, index) -> value.price),
(value, index) -> value.availableSeats > 30)
Run Code Online (Sandbox Code Playgroud)
只是为了向您展示这是此表达式的AST。
| 归档时间: |
|
| 查看次数: |
314 次 |
| 最近记录: |