You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript提示WaitReturn[]类型不存在waitFor属性如何修复?

错误原因

你的猜测完全正确,错误核心是函数返回值类型声明和实际返回值不匹配:

  • 你在函数定义处标注的返回类型是 WaitReturn[](WaitReturn 类型的数组)
  • 但函数实际 return 的是单个 WaitReturn 类型的对象,TS 检测到类型不匹配就抛出了错误。

修复方案

根据你的业务实际需求,二选一即可:

方案1:修改返回值类型,声明为返回单个对象

如果业务逻辑就是需要返回单个校验配置对象,把函数的返回类型标注从 WaitReturn[] 改成 WaitReturn 即可:

import { Validation } from '../../contracts/validation.types';

type WaitParams = {
  element: string;
  exists: boolean;
  timeoutInMilliseconds: number;
};

type WaitReturn = {
  waitFor: string;
  validation: Validation;
  timeoutInMilliseconds: number;
};

// 仅修改这一行的返回类型
module.exports = function wait({ element, exists = true, timeoutInMilliseconds = 30000 }: WaitParams): WaitReturn {
  if (!element) {
    throw new Error('Missing required attribute element');
  }
  return {
    waitFor: 'validation',
    validation: {
      target: {
        locators: [
          {
            type: 'css',
            value: element,
          },
        ],
      },
      type: 'element_match',
      failIfFound: !exists,
      match: '',
    },
    timeoutInMilliseconds,
  };
};

方案2:修改返回值,包裹为数组

如果业务逻辑确实要求返回数组,把你现在返回的对象放到数组中即可:

import { Validation } from '../../contracts/validation.types';

type WaitParams = {
  element: string;
  exists: boolean;
  timeoutInMilliseconds: number;
};

type WaitReturn = {
  waitFor: string;
  validation: Validation;
  timeoutInMilliseconds: number;
};

module.exports = function wait({ element, exists = true, timeoutInMilliseconds = 30000 }: WaitParams): WaitReturn[] {
  if (!element) {
    throw new Error('Missing required attribute element');
  }
  // 将返回对象用方括号包裹为数组结构
  return [{
    waitFor: 'validation',
    validation: {
      target: {
        locators: [
          {
            type: 'css',
            value: element,
          },
        ],
      },
      type: 'element_match',
      failIfFound: !exists,
      match: '',
    },
    timeoutInMilliseconds,
  }];
};

内容的提问来源于stack exchange,提问作者HelloL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 15:24:03