In meinem Skript, ich brauche einen Wörterbuch abrufen codierte Werte in Namen konvertieren:bedingte Versprechen
$.ajax({
// retrieve dictionary
})
.done(function(dictionary){
// convert encoded values into names
})
.done(function(){
// run my application
});
jedoch manchmal das Wörterbuch bereits von einer anderen Anwendung geladen wurde, und in diesem Fall, dass ich dies nicht tun müssen die ajax-Aufruf:
if (dictionary) {
// convert encoded values into names
// run my application
}
else {
$.ajax({
// retrieve dictionary
})
.done(function(dictionary){
// convert encoded values into names
})
.done(function(){
// run my application
});
}
Diese if/else-Anweisung ziemlich schwer ist, ist es eine Möglichkeit, es kürzer zu machen:
// load dictionary if needed
// then run my application
Hinweis: Ich habe das $ -Zeichen für meinen Pseudocode verwendet, bin aber nicht unbedingt an jQuery gebunden.
Ich mache so ziemlich eine Menge in meinen Anwendungen. Die Sache, die Sie haben, ist, dass, wenn Daten asynchron erfasst werden, dann müssen Sie mit asynchronen Methoden zugreifen, unabhängig davon, ob es bereits erworben wurde oder nicht - Grund ist bei jeder Nutzung, Sie wissen nicht, ob die Daten ist sofort verfügbar oder muss abgeholt werden. –
@ Rote-Bete-Rote Bete können Sie erklären, wie Sie mit asynchronen Methoden auf bereits erfasste Daten zugreifen? Vielleicht eine Antwort mit Code oder Pseudocode posten? – Christophe
Siehe die bereits geposteten Antworten. Das versuchen die Jungs zu erklären. –