В моем сценарии, мне нужно получить словарь, чтобы преобразовать кодированные значения в именах:Условные обещания
$.ajax({
// retrieve dictionary
})
.done(function(dictionary){
// convert encoded values into names
})
.done(function(){
// run my application
});
Однако, иногда словарь уже загружен другим приложением, и в этом случае я не нужен АЯКС вызов:
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
});
}
Это, если/другое заявление является довольно тяжелым, есть способ, чтобы сделать его короче:
// load dictionary if needed
// then run my application
Примечание: я использовал знак $ для моего псевдокода, но я не обязательно привязан к jQuery.
В моих приложениях я делаю это довольно много. Дело в том, что если данные будут получены асинхронно, тогда вы ДОЛЖНЫ получить доступ к ним с помощью асинхронных методов независимо от того, было ли это уже получено или нет - причина при каждом использовании, вы не знаете, являются ли данные сразу же доступен или необходимо его получить. –
@ Beetroot-Beetroot вы могли бы объяснить, как вы получаете доступ к уже полученным данным с помощью асинхронных методов? Может быть, ответьте с кодом или псевдокодом? – Christophe
См. Ответы, уже опубликованные. Это то, что ребята пытаются объяснить. –