1
我有一個操作,需要從遠程服務器獲取電子郵件列表。然後,我想使用電子郵件從另一個遠程服務器獲取emailDomainInformation的列表(請注意,第二條信息取決於第一條信息)。畢竟,我想要將來自兩臺服務器的數據輸出到地圖上,並將其呈現在帶有灰塵的頁面上。如何解決另一個承諾內的承諾?
我設法得到這個做像這樣沒有第二片數據的工作:
public static Result index()
{
F.Promise<Email> emailPromise = getEmailPromise(...);
F.Promise<Result> results = emailPromise.map(new F.Function<Email, Result>()
{
public Result apply(Email email)
{
Map<String, Object> data = new HashMap<String, Object>();
data.put("email", email.getAddress());
data.put("domain", email.getDomain());
dustRenderer.render(data);
}
}
async(results);
}
現在,因爲我想打一個異步調用getEmailDomainData(email.getDomain());
的emailPromise.map()
方法內。我該如何處理Promise<EmailDomain>
對象?我怎麼把這個放到data
地圖中去傳遞給dustRenderer
?
這是有幫助的。我的問題是第二個請求取決於第一個請求的結果,但我最終還需要返回第一個和第二個請求。我最終做的是:在第一個請求的處理程序中設置第二個請求。然後做第一個請求和第二個請求的平面圖,並在該處理程序中將第二個請求附加到第一個請求上,然後將第一個請求作爲對象返回。然後在我的控制器中,我可以調用第一個請求的getSecondRequest()getter來獲取第二個請求。 –