IDBRequest.source

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

La propriété source est une propriété en lecture seule, rattachée à l'interface IDBRequest, et qui indique la source de la requête (c'est-à-dire l'index ou le magasin d'objets utilisé). Si aucune source n'existe (par exemple car on a appelé indexedDB.open), la propriété vaut null.

Note : Cette fonctionnalité est disponible via les Web Workers.

Syntaxe

js
var IDBIndex = request.source;
var IDBCursor = request.source;
var IDBObjectStore = request.source;

Valeur

Un objet qui représente la source de la requête. Ce peut être un objet IDBIndex, IDBObjectStore ou un objet IDBCursor.

Exemples

Dans l'exemple qui suit, on récupère un enregistrement avec un titre donné depuis un magasin d'objets. Ensuite, on met à jour une des propriétés de cet enregistrement et on met à jour le magasin d'objets en insérant cet objet modifié. Lors de cette deuxième requête, on affiche la source dans la console. Pour consulter un exemple fonctionnel complet, vous pouvez vous référer à notre application To-do Notifications (cf. l'exemple live).

js
var title = "Walk dog";

// On ouvre une transaction
var objectStore = db
  .transaction(["toDoList"], "readwrite")
  .objectStore("toDoList");

// On fait une requête pour récupérer
// l'enregistrement qui possède le titre
// souhaité
var objectStoreTitleRequest = objectStore.get(title);

objectStoreTitleRequest.onsuccess = function () {
  // On récupère l'objet afin de le modifier
  var data = objectStoreTitleRequest.result;

  // On met à jour la propriété notified
  // avec la valeur "yes"
  data.notified = "yes";

  // On crée une autre requête pour replacer
  // l'enregistrement modifié dans la base de d
  // données
  var updateTitleRequest = objectStore.put(data);

  // Ici, on affiche la source de la requête dans
  // la console
  console.log("La source de cette requête est " + updateTitlerequest.source);
  // Quand cette deuxième requête sera appliquée,
  // on lancera displayData() pour mettre à jour
  // l'affichage
  updateTitleRequest.onsuccess = function () {
    displayData();
  };
};

Spécifications

Specification
Indexed Database API 3.0
# ref-for-dom-idbrequest-source①

Compatibilité des navigateurs

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
source

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Voir aussi