回調
這一切都開始回調。
您一定看到了這一點:
Something.save(function(err) {
if (err) {
//error handling
return;
}
console.log('success');
});
這是在JavaScript中定義的回調 - 這是將要執行異步的東西。由於他們的語法,實現和不 - ,回調不是你的朋友。過度使用它們會導致可怕的回調地獄
承諾
在這種情況下:承諾在ES6
Something.save()
.then(function() {
console.log('success');
})
.catch(function() {
//error handling
})
承諾是不是一個「ES6-事情」,他們多年以來存在,ES6將它們帶給你。承諾是不錯的,你甚至可以鏈接他們:
saveSomething()
.then(updateOtherthing)
.then(deleteStuff)
.then(logResults);
但足以與異步的瘋狂。
的WebSocket
的WebSocket是我會建議:
所以你可以創建一個客戶端,它打開一個WebSocket連接到Play應用程序。在服務器端,你可以handle WebSocket connections either with Akka actors(我推薦)或者在流上使用回調。使用演員非常簡單也很有趣 - 你定義了一個演員 - 當某人打開一個WebSocket連接時,這個演員的一個實例被生成,然後你在WebSocket頻道收到的每個消息都將被演員接收 - 你可以專注於您的商業邏輯,而不用考慮周圍的環境,然後發回消息 - 阿卡擅長的。