打字稿为什么不能在函数中返回标题?

马库斯

我是打字稿的新手。我有一个我使用的标题的值,它工作得很好。我尝试将它分成另一个可以调用的函数,但是它不起作用。

这是没有被调用的代码

var headers: any = "";
try {
    const token = getCookie('XSRF-TOKEN');
    headers = {
        'Accept': 'application/json',
        'Content-Type': 'application/json',
        'X-XSRF-TOKEN': token
    };
} catch (err) {
    console.log(err);
}
axios
    .get("https://localhost:", { getHeader })

当使用标头作为参数执行 .get 时,此工作文件。但是当我试图把它变成一个函数时。

export function getHeader () {
                  let headers: Record<string, string | null> = {}; // this line

                  const token = getCookie('XSRF-TOKEN');

                  headers = {
                    'Accept': 'application/json',
                    'Content-Type': 'application/json',
                    'X-XSRF-TOKEN': token
                  };



                  return headers
}

它抛出一个错误。

Type 'Record<string, string | null>' is not assignable to type 'AxiosRequestHeaders'.

“字符串”索引签名不兼容。键入'字符串 | null' 不可分配给类型 'string | 号码 | 布尔值'。类型 'null' 不能分配给类型 'string | 号码 | 布尔值'。

我怎样才能让它作为一个函数工作?

编辑:try catch 块不正确。解决它。

编辑:从带有错误消息的评论中添加了更新的代码。

卡斯拉夫

您正在尝试将整个函数传递给 axios 配置,而不是使用该函数的结果。

试试这个:

axios.get("https://localhost:", { headers: getHeader() })

另一方面,您的getHeader功能存在小问题 -

  • 您可以使用Record而不是any
  • 您不应该将变量初始化为与预期不同的类型 - 为什么是空的string改为使用空对象
  • 最好使用constorlet代替var
export function getHeader () {
                  let headers: Record<string, string> = {}; // this line

                  const token = getCookie('XSRF-TOKEN');
                  headers = {
                    'Accept': 'application/json',
                    'Content-Type': 'application/json',
                    'X-XSRF-TOKEN': token
                  };
                  } catch (err) {
                   console.log(err);
                  }

                  return headers
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我不能在打字稿中从`export default {}``import {}`

来自分类Dev

为什么`Record`不能在打字稿中应用传播类型?

来自分类Dev

为什么不能在函数中返回字符?

来自分类Dev

为什么不能使用函数断言在打字稿中var不为null

来自分类Dev

为什么我们不能在打字稿中的类中使用let关键字

来自分类Dev

函数返回类型为bool时,为什么不能在C ++ 14中返回共享指针?

来自分类Dev

为什么我不能在 React 组件(打字稿)中将 prop 作为对象属性发送?

来自分类Dev

为什么我不能在ggplot中居中调整标题?

来自分类Dev

什么是打字稿中函数返回类型的扩展

来自分类Dev

为什么打字稿需要函数类型中的名称?

来自分类Dev

为什么无效的合并运算符不能用作打字稿中的打字机?

来自分类Dev

为什么eval不能在bash中的函数中声明?

来自分类Dev

为什么打字稿不能根据传递的参数正确推断返回类型?

来自分类Dev

为什么 rstrip 不能在 Python 中返回原始文本?

来自分类Dev

为什么不能在Go“ init”中命名函数?

来自分类Dev

为什么我不能在addEventListener中调用类函数

来自分类Dev

为什么Array中的函数不能在“参数”上使用?

来自分类Dev

为什么我不能在熊猫函数中应用shift?

来自分类Dev

为什么不能在Shell中定义空函数?

来自分类Dev

为什么不能在函数中实例化对象

来自分类Dev

为什么我不能在 React 中调用这个函数?

来自分类Dev

为什么不能在函数中调用全局变量?

来自分类Dev

为什么cond函数不能在方案中打印?

来自分类Dev

为什么不能在jquery中递归调用函数?

来自分类Dev

为什么我的函数不能在 python 代码中执行?

来自分类Dev

为什么打字稿不能在这里推断类型参数`T`的`T[key of T]`的类型?

来自分类Dev

覆盖打字稿中的函数返回类型

来自分类Dev

打字稿中的抽象函数返回类型

来自分类Dev

在打字稿中,返回void函数的函数的返回类型是什么?

Related 相关文章

  1. 1

    为什么我不能在打字稿中从`export default {}``import {}`

  2. 2

    为什么`Record`不能在打字稿中应用传播类型?

  3. 3

    为什么不能在函数中返回字符?

  4. 4

    为什么不能使用函数断言在打字稿中var不为null

  5. 5

    为什么我们不能在打字稿中的类中使用let关键字

  6. 6

    函数返回类型为bool时,为什么不能在C ++ 14中返回共享指针?

  7. 7

    为什么我不能在 React 组件(打字稿)中将 prop 作为对象属性发送?

  8. 8

    为什么我不能在ggplot中居中调整标题?

  9. 9

    什么是打字稿中函数返回类型的扩展

  10. 10

    为什么打字稿需要函数类型中的名称?

  11. 11

    为什么无效的合并运算符不能用作打字稿中的打字机?

  12. 12

    为什么eval不能在bash中的函数中声明?

  13. 13

    为什么打字稿不能根据传递的参数正确推断返回类型?

  14. 14

    为什么 rstrip 不能在 Python 中返回原始文本?

  15. 15

    为什么不能在Go“ init”中命名函数?

  16. 16

    为什么我不能在addEventListener中调用类函数

  17. 17

    为什么Array中的函数不能在“参数”上使用?

  18. 18

    为什么我不能在熊猫函数中应用shift?

  19. 19

    为什么不能在Shell中定义空函数?

  20. 20

    为什么不能在函数中实例化对象

  21. 21

    为什么我不能在 React 中调用这个函数?

  22. 22

    为什么不能在函数中调用全局变量?

  23. 23

    为什么cond函数不能在方案中打印?

  24. 24

    为什么不能在jquery中递归调用函数?

  25. 25

    为什么我的函数不能在 python 代码中执行?

  26. 26

    为什么打字稿不能在这里推断类型参数`T`的`T[key of T]`的类型?

  27. 27

    覆盖打字稿中的函数返回类型

  28. 28

    打字稿中的抽象函数返回类型

  29. 29

    在打字稿中,返回void函数的函数的返回类型是什么?

热门标签

归档