Typescript异步方法声明

时间:2018-10-20 21:39:58

标签: typescript asynchronous es6-promise

之间有什么区别:

public myFunction = async (
    req: Request, 
    res: Response
): Promise<Response> => {
    return await myOtherFunction() 
}

public async myFunction (
    req: Request, 
    res: Response
): Promise<Response> {
   return await myOtherFunction()
}

我主要使用第一个示例,但是在转换非async的函数时,我的代码编辑器(与代码)使用第二个示例。

可能不相关,但我使用的是打字稿3.1.3

1 个答案:

答案 0 :(得分:0)

第一个是arrow function,第二个是normal function

主要区别在于箭头函数this指代父对象/类,而普通函数this指代函数本身。如果要在节点中使用arrow function并在顶层使用它,则将引用undefined

reference code,这是在React.js中制作的少量参考代码,仅用于演示用例。