最近,我已经看到Promise的概念在AngularJS和JQuery中实现.
我已经在下面的代码中看到了Java中的Futures的实现,但是这需要在语言/平台中存在线程池的概念.但是,Javascript中没有这样的线程概念.如何实现Javascript中的Promise?
public class Futures1 {
private static final ExecutorService pool = Executors
.newFixedThreadPool(10);
public static void main(String[] args) {
Future<String> contentsFuture = null;
try {
contentsFuture = startDownloading(new URL("http://www.example.com"));
} catch (MalformedURLException e) {
e.printStackTrace();
}
// other computation
try {
final String contents = contentsFuture.get();
} catch (InterruptedException | ExecutionException e) {
e.printStackTrace();
}
}
public static Future<String> startDownloading(final URL url) {
return pool.submit(new Callable<String>() {
@Override
public String call() throws Exception {
try (InputStream input = url.openStream()) …Run Code Online (Sandbox Code Playgroud)