package hprose.example.promise; import hprose.util.concurrent.Promise; public class Exam7 { public static void normal() { System.out.println(System.currentTimeMillis() + ": before Promise constructor"); Promise<String> promise = new Promise<>(() -> { System.out.println(System.currentTimeMillis() + ": running Promise constructor"); return "promise from Promise constructor"; }); promise.then((String value) -> { System.out.println(System.currentTimeMillis() + ": " + value); }); System.out.println(System.currentTimeMillis() + ": after Promise constructor"); } public static void delayed() { System.out.println(System.currentTimeMillis() + ": before Promise.delayed"); Promise<String> promise = Promise.delayed(300, () -> { System.out.println(System.currentTimeMillis() + ": running Promise.delayed"); return "promise from Promise.delayed"; }); promise.then((String value) -> { System.out.println(System.currentTimeMillis() + ": " + value); }); System.out.println(System.currentTimeMillis() + ": after Promise.delayed"); } public static void main(String[] args) throws InterruptedException { delayed(); normal(); Thread.sleep(400); } }