Promise pada Node JS




Setelah kemarin mempelajari Ansyc Await kali ini kita akan mempelajari tentang promise pada javascript, khusunya Node JS.  apa itu promise javascript ? promise adalah salah satu fitur atau fasilitas yang disediakan oleh javascript untuk melakukan aktifitas ansyncronus pada javascript. Struktur umum  promise javascript sebagai berikut :


const promise = new Promise()

Sekarang kita coba membuat function sederhana dengan menggunakan  promise javascript pada proses pembacaan file .txt  :

pertama kita import fs yang nantinya digunakan untuk membaca file .txt serta kita import juga path untuk membaca lokasi file .txt kita.

var fss = require('fs');
var path = require('path');

Kemudian kita identifikasi class .txt kita dengan menggunakan path, pada percobaan kali ini saya mencoba tiga file .txt :

var oneUniversity = path.join(__dirname,'../../textLibrary/dataExampleOne.txt');
var twoUniversity = path.join(__dirname,'../../textLibrary/dataExampleTwo.txt');
var threeUniversity = path.join(__dirname,'../../textLibrary/dataExampleThree.txt');

Setelah itu kita buat tiga promise untuk membaca tiga .txt diatas :

const promiseOne = new Promise(function(resolve, reject){
        fss.readFile(oneUniversity, 'utf8', function(errOne, SucOne){
            if(errOne) reject (errOne);
            resolve(SucOne);
        });
});

 const promiseTwo = new Promise(function(resolve, reject){
        fss.readFile(twoUniversity, 'utf8', function(errTwo, SucTwo){
            if(errTwo) reject (errTwo);
            resolve(SucTwo);
        });
 });

 const promiseThree = new Promise(function(resolve, reject){
        fss.readFile(threeUniversity, 'utf8', function(errThree, SucThree){
            if(errThree) reject (errThree);
            resolve(SucThree);
        });
 });

Resolve pada setiap promise di atas digunakan untuk melakukan aktivitas selanjutnya yaitu menjalankan promise selanjutnya. sedangkan untuk reject digunakan untuk menolak atau menghentikan proses lanjutan karena error. untuk menjalankan proses reject dan resolve ini kita menggunakan bantuan then catch :

 promiseOne
    .then(SucOne =>{
        responseOne = SucOne
        return promiseTwo;
    })
    .then(SucTwo =>{
        responseTwo = SucTwo
        return promiseThree
    })
    .then(SucThree =>{
        responseThree = SucThree
        console.log("-----UNIVERSITAS-----\n\n", responseOne,"\n\n", responseTwo, "\n\n",responseThree);
    })
    .catch()


full code read data dengan promise javascript :

var fss = require('fs');
var path = require('path');

var oneUniversity = path.join(__dirname,'../../textLibrary/dataExampleOne.txt'); 
var twoUniversity = path.join(__dirname,'../../textLibrary/dataExampleTwo.txt'); 

var threeUniversity = path.join(__dirname,'../../textLibrary/dataExampleThree.txt'); 

var responseOne;
var responseTwo;
var responseThree;

const promiseOne = new Promise(function(resolve, reject){
    fss.readFile(oneUniversity, 'utf8', function(errOne, SucOne){
        if(errOne) reject (errOne);
            resolve(SucOne);
    });
});

const promiseTwo = new Promise(function(resolve, reject){
    fss.readFile(twoUniversity, 'utf8', function(errTwo, SucTwo){
         if(errTwo) reject (errTwo);
            resolve(SucTwo);
    });
});

const promiseThree = new Promise(function(resolve, reject){
    fss.readFile(threeUniversity, 'utf8', function(errThree, SucThree){
         if(errThree) reject (errThree);
            resolve(SucThree);
    });
});

promiseOne
    .then(SucOne =>{
        responseOne = SucOne
        return promiseTwo;
    })
    .then(SucTwo =>{
        responseTwo = SucTwo
        return promiseThree
    })
    .then(SucThree =>{
        responseThree = SucThree
        console.log("----UNIVERSITAS---\n", responseOne,"\n\n", responseTwo, "\n\n",responseThree);
    })
    .catch()


Seperti yang anda lihat promise tidak cocok bila digunakan saat function yang anda gunakan mengijinkan proses selanjutnya saat kondisi error tetap berlanjut. jika proses pertama sudah error maka proses selanjutnya sudah dianggap error seperti itulah promise. menurut saya promise sangat cocok bisa mengeksekusi data yang dalam ukuran kecil saja.

Seperti itulah promise pada javascript , semoga bermanfaat 😬


Promise pada Node JS Promise pada Node JS Reviewed by sdiik on January 27, 2020 Rating: 5

No comments:

Powered by Blogger.