|
|
1
3
我同意@AMieres的观点,邮箱处理器是一种很好的方法。我的代码版本有点不太通用—它直接使用邮箱处理器来实现这一目的,因此可能会更简单一些。 我们的邮箱处理器只有一条消息—您要求它下载一个URL,它会返回一个异步工作流,您可以等待该工作流来获得结果:
我们需要一个helper函数来异步下载URL:
要使用缓存进行实际下载,我们只需向邮箱处理器发送一个请求,然后等待返回的工作流(可能由多个请求共享)的结果。
|
|
|
2
3
更新
你可以用
第一个参数是错误的处理程序,第二个参数是初始状态,在本例中是
此函数需要一个文件夹函数,该函数检查缓存并添加
首先
只是一个返回字符串和计时信息的伪函数。 现在检查缓存的文件夹函数:
最后,我们的下载功能:
测试
生成以下输出:
|
|
|
3
2
我提供一个基于@Tomas petrichek答案的简化版本。
假设我们有一个下载函数,给定一个url返回一个
这里我们有一些简单的通用
此“库”的目的是简化
第一个参数是异常处理程序,第二个参数是返回值的函数。以下是我们如何定义
我们的储藏室是
调用我们使用的管理器
从而产生:
|
|
|
byles1506 · 不理解异步等待执行顺序 1 年前 |
|
|
user2741831 · 等待执行的顺序在节点中没有意义 1 年前 |
|
|
user1233894 · 尝试从全局函数传递值 1 年前 |
|
cluster1 · 任务(小写)与任务(大写) 1 年前 |
|
|
haru · 为什么我的代码在加载页面时两次获取相同的项目? 2 年前 |