Sto provando a scrivere una funzione che mi fornirà un modello manubrio compilato (ho tutti i miei modelli in file separati) utilizzando una chiamata ajax per ottenere il modello e compilarlo per l'uso, ma ho bisogno usare una promessa così posso effettivamente usarla.caricamento manubrio modello in modo asincrono
function getTemplate(name){
$.get('/'+name+'.hbs').success(function(src){
var template = Handlebars.compile(src);
//can't return the template here.
});
}
Come posso fare questo con promesse in modo da poter fare qualcosa di simile:
$("a").click(function(e){
getTemplate('form').done(function(template){
$("body").append(template({
name: "My Name"
})
);
});
});
possibilmente correlate: http://stackoverflow.com/questions/133310/how-can-i-get-jquery-to-perform-a-synchronous- piuttosto che asincrono-ajax-re – ubik
@PedroFerreira 'async: false' è deprecato ed è una soluzione terribile – charlietfl
@charlietfl Sì, sono d'accordo. Ma potrebbe comunque essere interessante come opzione, in casi particolari. – ubik