Quick actions

cmd+k|ctrl+k

Navigation

Languages

kuis-concurrency

Snippet info

Language

JavaScript

Visibility

public

Author

uciharis

Created

2023-02-19T07:01:28.873869Z

Updated

2023-02-19T07:23:19.629318Z

class NetworkError extends Error {
  constructor(message) {
    super(message);
    this.name = 'NetworkError';
  }
}

// TODO: 1
const fetchingUserFromInternet = (isOffline) => {
  return new Promise ((resolve, reject) =>{
    setTimeout (() => {
      if(isOffline){
      reject(new NetworkError('Gagal mendapatkan data dari internet'), null)
      }
      resolve({name: 'John', age: 18});
    },500);
  })
};


// TODO: 2
async function gettingUserName() {
  try {
    const user = await fetchingUserFromInternet(false);
    return user.name;
  } catch (error){
    return error.message;
  }
}
gettingUserName().then((value)=>{
  console.log(value)
})
INFO