防止值编译错误

时间:2020-05-30 21:22:38

标签: bixby

每当我运行带回Empty Optional Values的脚本时,Bixby都会在调试器中引发“ Value Compilation Errors”。变量模型是正确的,因为这些值实际上是可选的,即用户任务成功不需要这些值。因此,您可以简单地忽略调试器错误,并且一切都会正常进行,除了Story测试工具会将这些运行报告为“失败”。这意味着Story工具在这些情况下几乎没有用,这是一个大问题。

有人可以教我如何避免它们吗?

1 个答案:

答案 0 :(得分:0)

感谢@mincheng的提示,我终于弄清楚了该怎么做。关键是删除任何为空,未定义或空字符串的对象属性。我用delete函数遍历对象数组。

  // remove undefined properties here

     const removeEmpty = (obj) => {
        Object.keys(obj).forEach(key => {
          if (obj[key] && typeof obj[key] === 'object') removeEmpty(obj[key]);
          else if (obj[key] === undefined || obj[key] === null || obj[key] === "") delete obj[key];
        });
        return obj;
      };


     for (var i = 0; i < altBrainsData.length; i++) {
           //console.log('i is', i);
           //console.log('function object', i, 'is', altBrainsData[i])
           //console.log(removeEmpty(altBrainsData[i]))
           altBrainsData[i] = removeEmpty(altBrainsData[i])
       }