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()
}