const login = async (payload) => { return new Promise((resolve, reject) => { setTimeout(() => { if (payload){ if (payload.username === 'admin' && payload.password == 'admin'){ resolve({status:"ok",message:"",token:"123"}); } else { reject(new Error("Invalid Username or Password")); } } else { reject(new Error("Server side error")); } }, 2000); }); }; // Example Usage - just like regular HTTP Call, this will simulate certain delay try { const res = await login({username:"admin",password:"admin"}); console.log('success!',res.token); } catch(err){ console.log('error!',err.message); } // Example 2 - Promise All await Promise.all([login({username:"admin",password:"admin"}), login({username:"admin",password:"admin"}), login({username:"admin",password:"admin"})]); // array results await Promise.all([login({username:"admin",password:"admin"}), login({username:"admin",password:"x"}), login()]); // VM963:10 Uncaught Error: Invalid Username or Password