报错排查
在 Duaer 里排查 Code 节点「Code doesn't return items properly」
Duaer 的 Code 节点要求返回条目数组或对象。忘了 return、返回了字符串或数字数组,就会报这几种错。
Duaer Code 节点的几种报错
- Code doesn't return items properly:Run Once for All Items 模式下没 return,或数组里有字符串、数字。
- Code doesn't return an object:Run Once for Each Item 模式下没返回对象。
- Code doesn't return a single object:Run Once for Each Item 模式下返回了数组。要一条变多条,换成 Run Once for All Items。
- A 'json' property isn't an object:返回了 { json: "文本" } 这种,json 后面必须是对象。
- Unknown top-level item key:同一个数组里有的条目写了 json,有的没写。
照这个形状返回
Run Once for All Items 模式:
return $input.all().map((item) => ({
json: { ...item.json, total: item.json.price * item.json.qty },
}));字符串数组先包成对象:return list.map((name) => ({ json: { name } }))。更多见 在 Duaer 里把数组拆成多条。
常见问题
Duaer Code 节点可以直接返回一个对象吗?
可以。Duaer 会把单个对象当成一条输出;返回多条要用数组,每个元素是对象。
Duaer Code 节点该选哪个模式?
在 Duaer 里,要汇总、拆分或改变条数,用 Run Once for All Items;每条单独加工、条数不变,用 Run Once for Each Item。
同组
节点
在 Duaer 里用 Code 写一小段逻辑
在 Duaer 里,Code 用 JavaScript 或 Python 处理当前条目。只改几个字段时,优先用 Edit Fields。
代码片段在 Duaer 里把数组拆成多条数据
Duaer 节点按条处理数据。订单里的商品列表、接口返回的数组,要先用 Split Out 拆成一条一项,后面的节点才会逐项处理。
数据理解 Duaer 的数据结构
在 Duaer 里,弄清节点之间如何传数据,是搭数字组织的基础。本页说明数据格式,以及数据如何在节点间流动。
表达式在 Duaer 里使用内置方法和变量
Duaer 在表达式里提供读取数据的变量和按类型调用的方法。Code 节点跑的是普通 JavaScript 和原生 Luxon。