M
MeshWorld.
Tutorial JavaScript Web Development Storage 2 min read

Show or Hide Absolute Line Numbers in Vim Editor

Vishnu
By Vishnu

The localForage is an open-source JavaScript library that refines the experience of saving data to web browser databases like localStorage, IndexedDB or WebSQL API.

It supports the majority of all types of browser databases.

It is absolutely asynchronous that simply uses browser databases and improves the universal offline experience of the web app.

In this tutorial, weโ€™ll see how to save data to browsers in a much easier way with localforage setItem() method.

Localforage setItem() method

  • With localforage setItem(), developers are allowed to store multiple types of data not just strings.
  • It automatically manages and loads the best web browser driver(IndexedDB, WebSQL, and localStorage drivers).
  • It also supports to store blob and arbitrary type of data, so that we can store images, files, etc.
  • It also supports ES6 Promises.

Syntax

setItem(key, value, successCallback);

Types of supported JavaScript objects

  • Array
  • ArrayBuffer
  • Blob
  • Float32Array
  • Float64Array
  • Int8Array
  • Int16Array
  • Int32Array
  • Number
  • Object
  • Uint8Array
  • Uint8ClampedArray
  • Uint16Array
  • Uint32Array
  • String

Example

const user = {
  firstName: "Lionel",
  lastName: "Messi",
  profession: "Footballer โšฝ ๐Ÿƒ",
};

localforage
  .setItem("userDetails", user)
  .then((value) => {
    console.log(value.firstName + " " + value.lastName);
  })
  .catch((error) => {
    console.error(error);
  });

localforage
  .getItem("userDetails")
  .then(function (value) {
    // This code runs once the value has been loaded
    // from the offline store.
    console.log(value.firstName + " " + value.lastName + " is one of the most popular " + value.profession . " of all time.");
  })
  .catch(function (err) {
    // This code runs if there were any errors
    console.log(err);
  });

Output in console

๐Ÿ‘ฉโ€๐ŸŽค Sunidhi Chauhan

Screenshot for localforage setItem() example

Screenshot for localforage setItem() example

Multiple instances

The localforage also allows developers to create multiple instances using createInstance() method, pointing to different stores.

var asianCountries = localforage.createInstance({
  countries: ["India ๐Ÿ‡ฎ๐Ÿ‡ณ", "Singapore ๐Ÿ‡ธ๐Ÿ‡ฌ", "Israel ๐Ÿ‡ฎ๐Ÿ‡ฑ", "Japan ๐Ÿ‡ฏ๐Ÿ‡ต"],
});

var europeanCountries = localforage.createInstance({
  countries: ["Italy ๐Ÿ‡ฎ๐Ÿ‡น", "France ๐Ÿ‡ซ๐Ÿ‡ท", "Switzerland ๐Ÿ‡จ๐Ÿ‡ญ", "Sweden ๐Ÿ‡ธ๐Ÿ‡ช"],
});

// Setting the key on one of these doesn't affect the other.
asianCountries.setItem("asianLanguages", [
  "Hindi",
  "English",
  "Gujarati",
  "Japanese",
  "Hebrew",
]);

europeanCountries.setItem("europeanLanguages", [
  "Italian",
  "English",
  "Romansh",
  "Finnish",
]);

Hope you like this

Happy ๐Ÿ˜„ coding

With โค๏ธ from India ๐Ÿ‡ฎ๐Ÿ‡ณ