如何将response.body
强制转换为options.responseType
参数的类型? TypeScript playground
下面的代码块是我的代码的简化版本...还有更多选择。
import got from "got"
interface Options {
responseType?: "buffer" | "json"
}
const get = async (url: string, options?: Options) => {
let response = await got.get(url, {
responseType: options?.responseType ?? "json"
})
return response.body
}
答案 0 :(得分:2)
答案 1 :(得分:0)
使用泛型T
import got from "got";
type ResponseType = "buffer" | "json";
const get = async <T>(url: string, responseType: ResponseType): Promise<T> => {
let response = await got.get(url, {
responseType: responseType
});
return response.body;
};
get<string>("url", "json");