检查字符串不为空 - Zapier Javascript - Return 备用值

Check string is not blank - Zapier Javascript - Return alternate value

我正在使用 Zapier 处理 Webhook 响应,需要检查第一个输入名称是否为空,然后 return 第二个。

想想名字和昵称。如果用户在 NAME1 中输入他们的昵称,则使用该名称,否则 return 在 NAME2 中输入他们的真实姓名。

这是我在 Zapier 中作为步骤添加的 JavaScript 代码,但是在另一个步骤的必填字段中使用 name 变量时不起作用。

var output = 'No Name';
if(inputData.NAME1 != '') {
  output ={name: inputData.NAME1};
} else {
  output= {name: inputDate.NAME2};
}
return output;

通过任务历史记录

访问的Input code的屏幕截图

通过 Task Hostory

访问的 Output code 的屏幕截图

我试过在最后分配 output 和 return,或者在 if 语句中 return。

在 Zapier 测试步骤中,它看起来运行良好,只是运行时失败了。

来自 Zapier Platform 团队的 David。

问题出在你的比较上。如果不传入 NAME1,则为 undefined.

在 JS 中,undefined 不等于 '',所以第一个分支总是 运行。遗憾的是,NAME1 未定义,因此未在输出中显示。

您可以将代码简化为以下内容:

return {name: inputData.NAME2 || inputData.NAME1 || 'No Name'}

它会按照你想要的顺序选择名字,还有一个默认值。

如果您还有其他问题,请告诉我!