Gett the balance of my token in user wallet

Please can someone help.

I've been dealling with this issue for weeks and can't seems to be able to make it work.

I'm trying to get the balance of token from a user address in a wallet. And all the code I've found online failed.

Please because this is fraustrating. The code is below.

    //let Web3 = require("web3");
        let userAdd = localStorage.getItem("userAddress");
        let currentAccount = null;
        let web3 = new Web3(new Web3.providers.HttpProvider("https://bsc-dataseed.binance.org"));
        //let web3 = new Web3("https://bsc-dataseed1.binance.org");
        let abi = [
  // balanceOf
  {
    "constant":true,
    "inputs":[{"name":"_owner","type":"address"}],
    "name":"balanceOf",
    "outputs":[{"name":"balance","type":"uint256"}],
    "type":"function"
  },
  // decimals
  {
    "constant":true,
    "inputs":[],
    "name":"decimals",
    "outputs":[{"name":"","type":"uint8"}],
    "type":"function"
  }
];
        let contactAddress = '0xd***************************';
      function handleAccountsChanged(accounts) {
            console.log('Calling HandleChanged')

            if (accounts.length === 0) {
                console.log('Please connect to MetaMask.');
                $('#enableMetamask').html('Connect with Metamask')
                localStorage.removeItem("userAddress", "");
            } else if (accounts[0] !== currentAccount) {
                currentAccount = accounts[0];
                $('#enableMetamask').html(currentAccount)
                $('#status').html('')

                if(currentAccount != null) {
                localStorage.setItem("userAddress", currentAccount);
                let strFirstThNum = currentAccount.substring(0,3);
                let strLastForNum = currentAccount.substr(currentAccount.length -4);
                let wallConAdd = ""+strFirstThNum+"...."+strLastForNum+"";
                $(".ui-udevwa").remove()
                $('.ui-udev-ac').html(wallConAdd)
                $(".ui-client-properties").html('<div style="" class=""><div style="float:left;"><div style="width:80px;height:80px;border-radius:100px;background:#ccc;"><div style="padding:23px 0px;text-align:center;font-size:12px;"></div></div></div><div style="float:left;width:56%;padding:6px 12px;color:#fff;"><div style="">' +wallConAdd+ '</div><div style="">Balance</div><div style="word-break:break-word;"></div></div><div class="clear"></div></div>');
                $("#disbtnholder").html('<div id="signOutconnectedWallet" onclick="metamaskSignOut()" style="font-size:18px;color:#fff;text-align: center;margin:4px 0;padding:10px 6px;cursor:pointer;">Disconnect</div>');
      let balance;
  
                let contract = new web3.eth.Contract(abi,contactAddress);

async function getBalance() {
  balance = await contract.methods.balanceOf(userAdd).call();  
   balance = Web3.utils.fromWei(balance); // 29803630.997051883414242659
  return balance;
}
getBalance().then(function (result) {
    console.log(result);
  });
  
 $('.ui-udev-ac').html('<div class="ui-walsub-menu-wrapper" style="background:#00AFFF;margin:0;padding:4px 22px;border-radius:50px;font-size:18px;color:#fff;cursor:pointer;"><div style="float:left;margin:4px 0 0;">' +wallConAdd+ '</div><div class="ui-wallet-btn-icons-holder" style="float:right;"><div style="float:left;"><img src="" class="wal-con-hook" data-tags="arrow-up" data-pack="social" style="width:15px;position:relative;top:6px;left:-8px;transition: all 0.1s linear;-webkit-transition: all 0.1s linear;-moz-transition: all 1s linear;-ms-transition: all 1s linear;-o-transition: all 1s linear;"></div><div style="float:right;"><img style="position:relative;width:30px;top:2px;" src=""></div><div class="clear"></div></div><div class="clear"></div> <div class="ui-wall-submenu" style="display:none;position:absolute;width:210px;top:43px;left:-16px;background:#00afff;color:#fff;text-align:left;"><div style="padding:3px 10px;font-size:16px;text-align:center;">Total Balance</div><div style="padding:8px 18px;border-top:1px #fff solid;color:#520c0c;"><div style="float:left;margin-right:3px;"></div> <div style="float:left;word-break:break-word;">'+balance+'</div><div class="clear"></div></div><div class="ui-disconnect-wall" id="ui-disconnect-wall" onclick="metamaskSignOut()" style="padding:8px 18px;border-top:1px #fff solid;">Disconnect</div></div></div>').show();
 
                }
            }
            console.log('WalletAddress in HandleAccountChanged ='+currentAccount)
        }