MST
星途 面试题库

面试题:TypeScript联合类型在复杂场景下的类型推导与优化

有如下场景,定义一个`fetchData`函数,它可以接受一个字符串类型的URL或者一个函数,该函数返回一个字符串类型的URL。`fetchData`函数最终要返回一个Promise,Promise的resolve值是根据URL获取的数据(假设通过模拟的`getDataFromURL`函数获取)。请完善以下代码,并解决可能出现的类型推导问题,确保代码在不同输入情况下的类型安全性和正确性。 ```typescript function getDataFromURL(url: string): Promise<string> { // 模拟从URL获取数据 return Promise.resolve('data from'+ url); } function fetchData(input: string | (() => string)): Promise<string> { // 在此处完善代码 } ```
48.1万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
function getDataFromURL(url: string): Promise<string> { 
    // 模拟从URL获取数据 
    return Promise.resolve('data from'+ url); 
}

function fetchData(input: string | (() => string)): Promise<string> { 
    if (typeof input ==='string') {
        return getDataFromURL(input);
    } else {
        return getDataFromURL(input());
    }
}