Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript异步方法声明_Typescript_Asynchronous_Es6 Promise - Fatal编程技术网

Typescript异步方法声明

Typescript异步方法声明,typescript,asynchronous,es6-promise,Typescript,Asynchronous,Es6 Promise,以下两者之间的区别是什么: public myFunction = async ( req: Request, res: Response ): Promise<Response> => { return await myOtherFunction() } public myFunction=async( 请求:, res:答复 ):承诺=>{ 返回等待myOtherFunction() } 及 公共异步myFunction( 请求:, res:

以下两者之间的区别是什么:

public myFunction = async (
    req: Request, 
    res: Response
): Promise<Response> => {
    return await myOtherFunction() 
}
public myFunction=async(
请求:,
res:答复
):承诺=>{
返回等待myOtherFunction()
}

公共异步myFunction(
请求:,
res:答复
):承诺{
返回等待myOtherFunction()
}
我主要使用第一个示例,但在转换非
异步的函数时,我的代码编辑器(vs-code)使用第二个示例

可能不相关,但我使用的是typescript 3.1.3

第一个是一个,第二个被调用

主要区别在于箭头函数
指的是父对象/类,而普通函数
指的是函数本身。如果要在节点中使用
箭头函数
,并在顶层使用它,它将引用
未定义的


,下面是React.js中制作的小参考代码,仅用于演示用例。

根据您的链接,第一个是普通函数,第二个是箭头函数不?我的错,我没有拼写它。实际上是另一种方式,我把它修正到答案上。好消息!非常感谢,我没有完全理解其中的区别(没有经常使用
this
关键字)但是你的回答完全解释了我想知道的事情。为了让事情更清楚,我还向
codesandbox
示例添加了
top-level
箭头函数的示例。一些框架,如
React.js
经常使用
这个
-关键字,因此如果你进入其中一个框架,你会使用它们。否则,它不会对您正在使用的这些函数产生太大影响。
public async myFunction (
    req: Request, 
    res: Response
): Promise<Response> {
   return await myOtherFunction()
}