gpt4 book ai didi

java - 如何实现涉及异步调用的代理模式?

转载 作者:行者123 更新时间:2023-12-01 15:46:04 25 4
gpt4 key购买 nike

如何实现涉及异步调用的代理模式?

举个例子,如果我想获取一些东西,我会首先检查该对象是否驻留在内存中,如果没有,那么我将发出http请求来检索它(这是异步调用)。

Customer customer;
customer = CustomerDAO.getCustomerByName("John");

并在 CustomerDAO.getCustomerByName("John"); 内

Customer getCustomerByName(String name)
{
int age = 40;

if (map.contains(name))
{
Customer customer = map.get(name);
customer.age = age;
return customer;
}
else
{
makeRequestAsnyc(name, callback);
}
}

但是由于它是异步的,因此它破坏了程序的流程。此外, getCustomers 中的任何局部变量也必须传递给回调函数。关于使用异步实现代理模式有什么建议吗?谢谢。

最佳答案

这个怎么办? (抱歉,我猜测是“回调”类)

Customer getCustomerByName(String name, Callback callback)
{
int age = 40;

if (map.contains(name))
{
Customer customer = map.get(name);
customer.age = age;
callback.call(customer);
}
else
{
makeRequestAsnyc(name, callback);
}
}

一般来说,当您已经有了异步 API 时,您不想引入阻塞方法。

关于java - 如何实现涉及异步调用的代理模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6977135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com