Questo è un problema specifico, ma credo che lo schema qui possa essere abbastanza generale da risultare utile per il pubblico qui.
Sto lavorando a un'applicazione JS offline. Nella mia applicazione JS, vorrei eseguire rapporti generati a livello di programmazione. Nessun problema. Posso renderizzare su tela e poi convertire in pdf (oh le meraviglie delle librerie JS in questi giorni). Ma c'è un fastidioso problema: il rendering delle immagini.
Non so (e in alcuni casi, non posso sapere) le immagini necessarie per caricare fino a quando il report non viene generato. Ho accesso alle immagini codificate in Base 64, quindi non sono remote e sono più o meno garantite per il caricamento. Tuttavia, non è garantito che il caricamento di un'immagine sia sincrono, anche per una stringa già in memoria. Inoltre, non è possibile dire "Disegnerò l'immagine una volta caricata" perché l'ordine di pittura è importante. In questo momento sto ricorrendo al precaricamento di tutta la mia libreria di immagini (schifo!), Ma l'unico altro metodo che posso vedere per fare questo lavoro è un refactoring per avere un pre-passo "gather resources" per istanza di report e alcuni molto non divertente lavoro di callback. Non riesco a caricare le risorse in anticipo (tranne il mio metodo corrente) perché le risorse non sono note all'avvio, il che sembra escludere parzialmente il solito approccio AMD.
Sigh: desidero che le risorse in memoria vengano caricate in modo sincrono. Quindi ho solo bisogno di allacciare e fare il refactoring o c'è un modo migliore?