防止值编译错误

问题描述 投票:0回答:1

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

有人可以告诉我如何编码以避免它们吗?

bixby
1个回答
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])
       }
© www.soinside.com 2019 - 2024. All rights reserved.