Javascript/Javascript

[๋“œ๋ฆผ์ฝ”๋”ฉ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ]๋น„๋™๊ธฐ์˜ ์‹œ์ž‘ ์ฝœ๋ฐฑ์ง€์˜ฅ

Rainbow๐ŸŒˆCoder 2022. 4. 13. 00:57
728x90

https://youtu.be/s1vpVCrT8f4

 
index.js
 
class UserStorage {
  loginUser(id, password, onSuccess, onFailure) {
    setTimeout(() => {
      if (
        (id === "ํ™๊ธธ๋™" && password === "์•„๋ฒ„์ง€") ||
        (id === "ํ™ฉ์ง„์ด" && password === "์ฒญ์‚ฐ๋ฆฌ")
      ) {
        onSuccess(id);
      } else {
        onFailure(new Error("not found"));
      }
    }, 2000);
  }

  getRoles(user, onSuccess, onFailure) {
    setTimeout(() => {
      if (user === "ํ™๊ธธ๋™") {
        onSuccess({
          name: "ํ™๊ธธ๋™",
          role: "์•„๋ฒ„์ง€๋ฅผ ์•„๋ฒ„์ง€๋ผ ๋ถ€๋ฅด์ง€๋„ ๋ชปํ•˜๊ณ ...",
        });
      } else {
        onFailure(new Error("no access!!!"));
      }
    }, 3000);
  }
}

const userStorage = new UserStorage();
const id = prompt("๋„ˆ์˜ ์ด๋ฆ„์€");
const password = prompt("๋น„๋ฐ€๋ฒˆํ˜ธ๋Š”?");
userStorage.loginUser(
  id,
  password,
  (user) => {
    userStorage.getRoles(
      user,
      (userWithRole) => {
        alert(`Hello ${userWithRole.name}, ๋„ˆ์˜ ๋ช…๋Œ€์‚ฌ ${userWithRole.role}`);
      },
      (error) => {
        console.log(error);
      }
    );
  },
  (error) => {
    console.log(error);
  }
);
 
 

 

728x90