你如何创建一个命名的异步箭头函数? [复制]

Posted

技术标签:

【中文标题】你如何创建一个命名的异步箭头函数? [复制]【英文标题】:How do you create a named async arrow function? [duplicate] 【发布时间】:2018-01-14 08:03:15 【问题描述】:

目前,我有这个代码:

async function getConnection()
    // logic here...

为了使其与我的代码库的其余部分保持一致,我想将其更改为箭头函数。我试过async getConnection () => ... 但这似乎不起作用。正确的做法是什么?

【问题讨论】:

【参考方案1】:

箭头函数没有名称,但您可以将它们分配给这样的变量:

const normalFunc = () =>  ... ;
const asyncFunc  = async () =>  ... ;

但是请注意,箭头函数不仅仅是常规函数的较短符号,因为有一些细微的差异需要注意 (see this article for details)。但是,如果您了解这些差异并且它们不会影响您的代码,那么您应该没问题。

【讨论】:

【参考方案2】:

箭头函数不能有名字

const getConnection = async () => 

但是将所有函数简单地替换为箭头函数简直是愚蠢的,并且可能容易出错。在这样做之前Learn all differences。

【讨论】:

主要的异步箭头函数不会从构造中继承上下文,this 指的是Window @Crowes 我认为更清楚一点,this 将引用箭头函数在其中声明的任何函数或对象的this。我假设将在全局范围,所以你是正确的 @BrettReinhard 看看这个:***.com/questions/22939130/…【参考方案3】:

箭头函数不能用名称声明,但可以赋值。

试试:

var getConnection = async () => 
  return 'It works';


getConnection().then(message => console.log(message))

希望对你有帮助

【讨论】:

以上是关于你如何创建一个命名的异步箭头函数? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何使箭头功能异步? [复制]

如何在 ES2015 中编写命名箭头函数?

如何迭代 JSON 数组并从异步箭头函数添加数据?

如何从javascript中的一个线性箭头函数返回匿名对象? [复制]

后面带 () 的箭头函数是啥意思? [复制]

如何在不重新绑定 this 的情况下返回一个带有粗箭头函数的对象? [复制]