Skip to content

Instantly share code, notes, and snippets.

@SDiamante13
Created March 12, 2020 03:12
Show Gist options
  • Select an option

  • Save SDiamante13/5c41a4fd01b878a9afedc91fb4ba00c8 to your computer and use it in GitHub Desktop.

Select an option

Save SDiamante13/5c41a4fd01b878a9afedc91fb4ba00c8 to your computer and use it in GitHub Desktop.
Classes that use asynchronous method calls
class MyService {
private final Client client;
public MyService(Client client) {
this.client = client;
}
StringBuilder getData() {
StringBuilder data = new StringBuilder();
client.processData(() -> {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
data.append("Here's your data!");
});
return data;
}
}
@Component
class Client {
public void processData(Runnable runnable) {
runnable.run();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment