Resolve promise ethersJs

I have here this code but whenever a new pair is being detected i get back
[object promise]

function main(){
    console.log('Starting...')
   contractBsc.on('PairCreated', (token0, token1, pair) =>{
        var erc20COntract0 = new ethers.Contract(token0, erc20Abi, provider) 
        var erc20COntract1 = new ethers.Contract(token1, erc20Abi, provider)  
        let name0 =  erc20COntract0.name()
        var name1 =  erc20COntract1.name()
        var symbol0 = erc20COntract0.symbol()
        var symbol1 = erc20COntract1.symbol()    
        console.log(`Token0: ${name0}, Symbol: ${symbol0}nToken1: ${name1}, Symbol: ${symbol1}`)
       // return name0,name1,symbol0,symbol1
    }) 
    
  
}
main()

How can I resolve the promise and than use the variables name1, name0 etc in my script