我正在尝试根据以下规范从打字稿应用程序进行fetch() api 调用:
- 方法:POST
- 请求网址:https ://cloud.memsource.com/web/api2/v1/projects/KmtNyVlz1skQd2aMVEipp7/jobs?token=AuthenticationToken
- (标题)内容处置:文件名*=UTF-8''file.txt
- (标题)Memsource:{“targetLangs”:[“de”,“fr”]}
- (Header) Content-Type: application/octet-stream
- 响应:作业 UID(例如 dOYgeXzAdAbj4xFjuEVZP2)
尝试在节点获取调用中对标头使用嵌套对象/数组值时出现以下错误。
(属性) RequestInit.headers?: HeadersInit Type '{ 'Content-Type': string; “内容处置”:字符串;'Memsource': { 'targetLangs': string[]; }; }' 不可分配给类型 'HeadersInit'。类型'{'Content-Type':字符串;“内容处置”:字符串;'Memsource': { 'targetLangs': string[]; }; }' 缺少类型 'Headers' 中的以下属性:forEach、append、delete、get 和 7 more.ts(2322) index.d.ts(45, 5):预期类型来自属性 'headers'在“RequestInit”类型上声明
下面是给出问题的代码行。
let project: Promise<Response> = await fetch(apiURL, {
method: 'POST',
headers: {
'Content-Disposition': 'd:/_export/en_US.json',
'Memsource': { 'targetLangs': ['fr_fr', 'es_es'] },
},
}).then(res => res.json())
.then(json => json)
.catch(err => console.log(err));
我应该怎么做才能解决问题?我不能使用这个符号吗?