未满足条件时函数如何返回空值?Zapier代码步骤实现疑问
解决Zapier Code Step条件触发Webhook的问题
我来帮你调整这段代码,刚好适配你要的逻辑——只有当buy为true时才发送Webhook请求,否则返回空值。顺便优化了请求体的格式(用JSON代替字符串拼接,更规范也更易维护):
// 假设coins是传入Zapier的数组数据 for (let i = 0; i < coins.length; i++) { if (coins[i].buy === true) { // 发送POST请求到目标Webhook await fetch('https://hooks.zapier.com/hooks/catch/974762/krbqch/', { method: 'POST', headers: { 'Content-Type': 'application/json' // 明确告诉接口接收JSON格式数据 }, body: JSON.stringify({ Coin: coins[i].coin, Value: coins[i].currentValue, Buy: coins[i].buy // 这里可以按需添加更多需要传递的字段 }) }); // 如果需要把这个符合条件的对象传递给Zapier后续步骤,就return它 return { Coin: coins[i].coin, Value: coins[i].currentValue, Buy: coins[i].buy }; } } // 遍历完所有项都没触发buy===true的条件,返回空值 return null;
几个关键细节说明:
- 加上
await确保请求完全发送完成后再执行后续逻辑(Zapier的Code Step原生支持async/await语法) - 用
JSON.stringify格式化请求体,比手动拼接字符串更不容易出错,也符合绝大多数Webhook的接收规范 - 循环结束后返回
null,这样后续Zapier步骤如果依赖这个返回值,会因为空值自动停止执行(你也可以根据Zap的配置调整返回空对象{}) - 如果你的
coins数组可能有多个符合条件的项,可以把返回值改成数组,收集所有符合条件的对象后再统一返回,不过看你的需求应该是触发第一个符合条件的项就可以了
这样调整后,就能精准实现你要的逻辑:仅当buy为true时向Webhook发送数据,否则返回空值。
内容的提问来源于stack exchange,提问作者Anthony Trischitti
相关产品推荐
相关产品推荐

