javascript - Cum pot verifica dacă URI-ul generat de url.createobjecturl este încă activ în TypeScript


Stochez câteva imagini în baza mea de date ca bloburi. Le afișez în aplicația mea folosind funcția url.createobjecturl().

Dar după ceva timp, aceste imagini generate vor fi șterse, cum pot testa dacă acestea sunt încă active?

Dacă sunt active, continuă să le folosești, dacă nu sunt active atunci reconstruiește URI-ul.

Folosesc Ionic 2, Angular 2 cu TypeScript.

Răspuns #1

Așa fac eu cu JavaScript:

fetch(itemObjectURL)
.then(function checkForBlobHealth(blob){
    if (!blob.ok) {
        console.log('❗ ' + itemObjectURL + ': Local media file not present')
        window.URL.revokeObjectURL(itemObjectURL);
        //Take care of the situation
    } else {
        // Move on as usual
    }
})
.catch(function (err) {
    console.log('Failed verifying. Details: ' + err);
})