我可以总是假设不返回 Promise 或 Observable 的函数是 JavaScript 中的同步函数吗?

蒂宾·托马斯

是否可以假设不返回 Promise 或 Observable 的函数是 JavaScript 中的同步函数。如果不是,如何知道函数是同步还是异步。

道格

不,无法确定一个方法(不返回 promise 或 observable)是同步的还是不同步的。我可以采用常规同步方法并向其添加对异步函数的调用。从外面看,它看起来是一样的——但现在它正在排队(触发,无论你喜欢什么术语)一些异步工作。如上所述,另一个关键函数签名是采用回调处理程序的签名 - 如果它确实如此,它很可能(虽然,迂腐,不一定)异步。但是假设一个函数不做这些事情,你就无法真正知道。

您可能不关心这种异步性 - 您可能只关心您认为该方法正在执行的操作是否在返回之前完成,这可能从其返回类型中显而易见。例如,addTwoNumbers(a: number, b: number): number在返回结果方面显然是同步的,但是,正如我上面提到的,它可能会产生一些异步工作(例如,将某些内容记录到文件中)并且您永远不会从函数签名中知道。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章