2015-05-08 19 views
6

Java'nın Play framework'ünü okuyorum ama Java'da fazla tecrübem yok. Birisi onlar uyumsuz bir çift hesaplamak gerekiyor bir söz promiseOfPiValue oluştururken olsun buOynat! framework Java Promise örneği

Promise<Double> promiseOfPIValue = computePIAsynchronously(); 
Promise<Result> promiseOfResult = promiseOfPIValue.map(
    new Function<Double,Result>() { 
    public Result apply(Double pi) { 
     return ok("PI value computed: " + pi); 
    } 
    } 
); 

lütfen açıklayabilir. Ardından, apply yöntemini uygulayan bir argüman olarak Function'un yeni bir örneğini geçirdikleri sözün örneğinde map'u ararlar.

Harita kısmı kaybolduğum yer - harita yöntemi nasıl çalışıyor? Result türünde yeni bir söz geri dönüyor gibi görünüyor, ancak apply yönteminin Function bir uygulama içinde çağrılması mantığı nedir? oyun belgelerine

cevap

2

:

Haritalar tip B bir söz bu söz. Söz verilince, function işlevi uygulanır.

fonksiyonu:

new Function<Double,Result>() { 
    public Result apply(Double pi) { 
     return ok("PI value computed: " + pi); 
    } 
} 

Result kısa sürede computePIAsynchronously bittikten olarak Controller tanımlanan ok() fonksiyonunu kullanarak tip Double arasında pi değerini dönüştürür.

Ancak, İşlev uygulamasının içinde uygulama yöntemini çağırmanın mantığı nedir?

Bu, Promises ve Scala'un güzelliğidir. Scala vaat çerçevesi, sözün kullanılması durumunda işlevin uygulandığından emin olur. Bu konuyu okumak isterseniz, kaynak ve scala.concurrent.ExecutionContext belgelerini almanızı öneririm.