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

如何创建硬编码的Promise<IMySetting>[]以返回模拟数据?

解决方法

首先修正你代码里的几个小问题:

  • 接口名是IMySetting,但你定义返回类型时写了IMySettings(多了个s)
  • 变量名是settings,但你数组里写的是setting(少了个s)

要创建Promise<IMySetting>[]类型的数组,只需要把每个模拟的IMySetting对象用Promise.resolve()包裹即可——Promise.resolve()会返回一个已决议的Promise,正好匹配你需要的类型。

修正后的完整代码

export interface IMySetting {
    name: string;
}

export function getMySettings(id: number): Promise<IMySetting>[] {
    // 定义生成单个模拟配置的函数
    const getMockSetting = (): IMySetting => {
        return {
            name: 'test'
        };
    };

    // 将每个模拟数据包装为Promise,组成目标数组
    return [
        Promise.resolve(getMockSetting()),
        Promise.resolve(getMockSetting())
    ];
}

简化写法(无需单独函数)

如果不需要复用模拟数据生成逻辑,也可以直接写对象:

export function getMySettings(id: number): Promise<IMySetting>[] {
    return [
        Promise.resolve({ name: 'test' }),
        Promise.resolve({ name: 'test' })
    ];
}

后续替换成真实后端请求时,只需要把Promise.resolve(...)替换成实际的fetch/axios接口调用即可,完全不影响组件侧的调用逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 05:42:10