Промисы асинхронны, поэтому синхронный путь здесь неуместен.
Передайте в метод user коллбек, который выполнится при получении данных:
class User{
user(clb){
var datauser;
new Promise((resolve)=>{
VK.Auth.login((response)=>{
if( response.status === "connected"){
console.log('Пользователь авторизован')
datauser = response.session.user
resolve();
}
})
}).then(result=>{
console.log(datauser)
clb(datauser); // call it!
return datauser
})
}
}
const clb = data => console.log('data has arrived'); // define it
let obj_user = new User();
obj_user.user(clb); // pass it