Solution pour structure de stockage complexe à utiliser dans l'extension Chrome

Mar 23 2023
Comme l'API de stockage n'est pas asynchrone par nature. L'objet de stockage ne peut pas utiliser directement la syntaxe async/wait.

Comme l'API de stockage n'est pas asynchrone par nature. L'objet de stockage ne peut pas utiliser directement la syntaxe async/wait.

Normalement, l'API de stockage est utilisée comme suit

chrome.storage.local.get('name', (storage)=>{
  console.log(storage)
})

Les développeurs d'extensions Chrome savent que toutes les API de chrome sont conçues pour être écrites les unes dans les autres de cette manière, ce qui réduit la qualité de l'écriture du code. Une solution peut exécuter await/async avec une fonction écrite dans la syntaxe promise. Cependant, toutes les fonctions seront écrites sur la base de promesses, ce qui ajoute une charge supplémentaire sur les performances.
Une meilleure alternative consiste à pouvoir utiliser l'API de stockage de manière synchrone. Cela peut être réalisé à l'aide d'un package npm conçu pour supprimer la nature asynchrone de l'API de stockage. ce paquet npm est chrome-extension-fast-storage.

Le package a été conçu à l'aide du modèle singleton et peut être utilisé pour toutes les opérations de stockage sans attendre où qu'il soit appelé.

Usage

Pour l'installation

npm install chrome-extension-fast-storage
yarn add chrome-extension-fast-storage

Une fois installé, il peut être utilisé sur la page souhaitée comme suit.

import ChromeStorage from "chrome-extension-fast-storage";

// To save a data on storage
ChromeStorage.set({ timer: 1 });

// To read data from storage
console.log(ChromeStorage.get("timer"));

// To read all data on the storage
console.log(ChromeStorage.getAll());

Merci d'avoir lu,
je suis Abdullah Dalgıç , un développeur d'extensions Chrome.