Skip to content

Conversation

@arobot
Copy link
Contributor

@arobot arobot commented Sep 16, 2020

And unless you know something specific about your system that changes things, you’ll probably want to use Async calls.

主谓宾 something specific changes things。作者应该是想说明逻辑中的一些具体实现可能会导致过程中的特定变化,如果使用异步实现会产生异常。而你是明白会产生这样的结果的,否则会更愿意使用异步调用。

原句中没有体现changes这个动作,读起来让人费解。

> And unless you know something specific about your system that changes things, you’ll probably want to use Async calls.

主谓宾 something specific changes things。作者应该是想说明逻辑中的一些具体实现可能会导致过程中的特定变化,如果使用异步实现会产生异常。而你是明白会产生这样的结果的,否则会更愿意使用异步调用。

原句中没有体现changes这个动作,读起来让人费解。
这种“立即返回”的异步能力需要 `CompletableFuture` 库进行一些秘密(`client` 无感)工作。特别是,它将你需要的操作链存储为一组回调。当操作的第一个链路(后台操作)完成并返回时,第二个链路(后台操作)必须获取生成的 `Machina` 并开始工作,以此类推! 但这种异步机制没有我们可以通过程序调用栈控制的普通函数调用序列,它的调用链路顺序会丢失,因此它使用一个函数地址来存储的回调来解决这个问题。

幸运的是,这就是你需要了解的有关回调的全部信息。程序员将这种人为制造的混乱称为 callback hell(回调地狱)。通过异步调用,`CompletableFuture` 帮你管理所有回调。 除非你知道系统的一些具体的变化,否则你更想使用异步调用来实现程序。
幸运的是,这就是你需要了解的有关回调的全部信息。程序员将这种人为制造的混乱称为 callback hell(回调地狱)。通过异步调用,`CompletableFuture` 帮你管理所有回调。 除非你知道你系统中的一些特定逻辑会导致某些改变,否则你更想使用异步调用来实现程序。
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

probably
翻译成或许吧。 否则这个语气词太强烈了。标识这种特定场景下一定要使用异步调用。这个和原文意思也是不符合的吧

这种“立即返回”的异步能力需要 `CompletableFuture` 库进行一些秘密(`client` 无感)工作。特别是,它将你需要的操作链存储为一组回调。当操作的第一个链路(后台操作)完成并返回时,第二个链路(后台操作)必须获取生成的 `Machina` 并开始工作,以此类推! 但这种异步机制没有我们可以通过程序调用栈控制的普通函数调用序列,它的调用链路顺序会丢失,因此它使用一个函数地址来存储的回调来解决这个问题。

幸运的是,这就是你需要了解的有关回调的全部信息。程序员将这种人为制造的混乱称为 callback hell(回调地狱)。通过异步调用,`CompletableFuture` 帮你管理所有回调。 除非你知道系统的一些具体的变化,否则你更想使用异步调用来实现程序。
幸运的是,这就是你需要了解的有关回调的全部信息。程序员将这种人为制造的混乱称为 callback hell(回调地狱)。通过异步调用,`CompletableFuture` 帮你管理所有回调。 除非你知道你系统中的一些特定逻辑会导致某些改变,否则你更想使用异步调用来实现程序。
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(回调地狱)

这个也顺便帮忙改成中文的双括号吧,这个看起来太奇怪了

@arobot
Copy link
Contributor Author

arobot commented Sep 17, 2020

合并了修改意见

@sjsdfg sjsdfg merged commit 46083fb into lingcoder:master Sep 17, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants