then

then(value: Null, callback: (previousResult: Nothing) -> Any): Null

then​ を ​null​ 値に使用できるようにするヘルパー関数。

DataWeave バージョン 2.4.0 で導入されました。

then<T, R>(previous: T, callback: (result: T) -> R): R

この関数は、前の式から返された値が ​null​ でない場合のみ前の式から返された値を次 (コールバック) に渡すパイプとして機能します。

DataWeave バージョン 2.4.0 で導入されました。

パラメーター

名前 説明

previous

前の式の値。

callback

結果が ​null​ でない場合に ​previous​ の結果を処理するコールバック。

次の例では、​then​ を使用して前の式の結果を連結してその処理を続行する方法を示しています。

ソース

%dw 2.0
output application/json
---
{
    "chainResult": ["mariano", "de Achaval"]
            reduce ((item, accumulator) -> item ++ accumulator)
            then ((result) -> sizeOf(result)),
    "referenceResult" : ["mariano", "de Achaval"]
                         map ((item, index) -> upper(item))
                         then {
                            name: $[0],
                            lastName: $[1],
                            length: sizeOf($)
                        },
    "onNullReturnNull": []
                reduce ((item, accumulator) -> item ++ accumulator)
                then ((result) -> sizeOf(result))
}

出力

{
   "chainResult": 17,
   "referenceResult": {
     "name": "MARIANO",
     "lastName": "DE ACHAVAL",
     "length": 2
   },
   "onNullReturnNull": null
 }