当尝试使用 TypeScript 而不是 JavaScript 时出现错误:预期 1-2 个参数,但得到 3.ts(2554)
P粉420958692
P粉420958692 2023-09-03 19:03:22
0
1
468
<p>当我们使用 JavaScript 时,我们有 Vue.js 2.6 应用程序,但有一些代码是用 TypeScript 编写的。我对 TypeScript 不太了解,并尝试重写使用 Axios 的代码。它看起来如下:</p> <p><strong>1) 来电者:</strong></p> <pre class="brush:php;toolbar:false;">try { const params = { id: 1, inn: 2, withReferences: true, }; const result = await gpbApi.leadService.getPartnerReferences(params); } catch (error) { console.log('error = ', error); }</pre> <p><strong>2) 调用:</strong></p> <pre class="brush:php;toolbar:false;">async getPartnerReferences(params: any) { if (!params) return; const { data } = await axios.get(`${path}/GroupAccountService/PartnerReferences`, params, { withCredentials: true }); return data.data; }</pre></p>
P粉420958692
P粉420958692

全部回复(1)
P粉668113768

正如 Quentin 在评论中指出的那样,axios 文档 有一个必需参数 (url) 和一个可选参数 (config)。您的代码传递了三个参数,因此错误是准确的,并且三参数 get 调用没有执行您在 JS 或 TS 中所期望的操作。

但是,config 参数接受一个名为 params 的键,这很可能是您的 params 的预期位置。您可以使用 Javascript 简写只需使用名称 params 而不是 params: params。这意味着您的修复只需将 params 移动到对象初始值设定项的内部(大括号)。

如果此代码之前有效,则 params 可能曾经位于与 URL 同一行的对象初始值设定项中,但被错误地移到了 URL 之外。

async getPartnerReferences(params: any) {
  if (!params) return;
  const { data } = await axios.get(`your.url`, {
    params, // this is now a part of the config object
    withCredentials: true
  });
  return data.data;
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!