0
我的問題最好是通過以下的(簡化的)實施例中所述返回一個未來:從阿卡映射器
鑑於其上調用其get-方法返回Future<JSON>
異步HTTP客戶端。 給定一個資源的鏈接,該資源又包含到另一個資源的鏈接。那麼如何做我的代碼如下:
- 執行,只要是GET完成GET用於資源A的
- ,對於資源B執行GET
我的具體問題是,怎麼回事未來從Mapper內部,沒有resourceB必須是Future< Future <JSON> >
類型。基本上,我想寫出如下:
Future<JSON> resourceA = httpClient.get("http://...");
Future<JSON> resourceB = resourceA.map(new Mapper< JSON, Future<JSON> >() {
public JSON apply(JSON resourceARepr)
{
return httpClient.get(resourceARepr.getString("linkToResourceB"));
}
});
然而,這並不編譯,因爲httpClient#get
返回Future
,而Future#map
方法希望我通過從提供的值映射同步映射器。
從JavaScript世界中的Promises/A
我用來承諾處理程序能夠將承諾返回給值或值。