当前位置: 首页 > 知识库问答 >
问题:

“等待退货”是否存在性能问题?

经兴安
2023-03-14

我看到有一条eslint规则,no return await,用于禁止return await

在规则的描述中,它声明一个返回等待添加"在总体promise解决或拒绝之前的额外时间"

但是,当我查看MDNasync函数文档时,“简单示例”显示了一个包含return await的示例,但没有说明这可能是性能问题的原因。

return await是否如eslint文档所建议的那样是一个实际的性能问题?

如果是,怎么做?

共有1个答案

路欣荣
2023-03-14

不,没有任何性能问题。这只是不必要的额外操作。它可能需要更长的时间来执行,但不应该很明显。对于整数x,它类似于returnx0,而不是returnx。或者更确切地说,完全等同于无意义的。然后(x=

它不会造成实际的伤害,但我会认为它是一种糟糕的风格,也是作者没有充分压缩promise和等待的标志。

然而,有一种情况下它会产生重要的影响:

try {
    …
    return await …;
} …

await确实会抛出拒绝,并且在执行catch处理程序之前,在任何情况下都会等待promise解决方案。一个普通的返回将忽略这一点。

 类似资料:
  • 问题内容: 我看到有一条禁止的附庸制度。 在规则的描述中,它声明了一个add 。 但是,当我查看[MDN 函数docs时,“简单示例”显示了一个示例,其中没有任何说明这可能是性能问题的原因。 如eslint文档所建议的那样,是否存在实际的性能问题? 如果是这样,怎么办? 问题答案: 不,没有任何性能 问题 。这只是不必要的额外操作。执行可能需要更长的时间,但几乎不会引起注意。它类似于而不是整数。或

  • 问题内容: 我试图让Selenium等待页面加载后动态添加到DOM的元素。试过这个: 如果有帮助,这里是: 但是它抛出一个-看起来像期望元素存在,所以这是有缺陷的。这一定是Selenium的面包和黄油,不想重新发明轮子……有人能建议一种替代方法吗,理想情况下不用自己动手做? 问题答案: 需要等待时,您需要异常调用以忽略。 有关更多信息,请参见FluentWait的文档。但是请注意,此条件已在Exp

  • 我使用async、await编写了一个Javascript代码,并在每个异步函数中使用try、catch。 假设如果我写了10个异步函数,那么我需要在所有这10个函数中写try,catch。现在我脑子里有一个问题,那就是它不会造成性能开销吗?

  • 我们正在使用ApacheHttpClient和PoolighttpClientConnectionManager,并创建一个连接池,每个路由大小分别为200和200(调用同一个endpoint)。 HTTPClient被包装在一个单例类中(因此HTTPClient被共享)。然后,我使用它来发出GET请求,并用状态代码和主体进行响应。 然而,机器处于高CPU负载下,我们在netstat中遇到了大约3

  • 假设我有几个未来,需要等到它们中的任何一个失败或全部成功。 例如:设有3个期货:、、。 > 如果成功而失败,我不会等待(并将失败返回给客户端)。 如果<code>f2</code>失败,而<code>f1</code>和<code>f3</code>仍在运行,我不会等待它们(并返回故障) 如果成功,然后成功,我继续等待。 你将如何实现它?

  • 问题内容: 我在MS SQl服务器2008中使用,由于我的表太大,使用的是否会对性能造成任何影响? 提前致谢 问题答案: 如果您需要使用它,那么ISNULL和诸如COALESCE或CASE之类的替代项之间的任何区别都是微不足道的。不用担心 任何区别都来自数据类型的处理方式。COALESCE / CASE可以添加隐式数据类型转换,而ISNULL具有更简单的规则。 编辑 SELECT列表中的ISNUL