Согласно описанию dialog.prompt не является блокирующей функцией, поэтому функция, которую вы передаете в нее
val => { returnval = val}
, работает только тогда, когда приглашению функции уже возвращено ее значение
Так что лучше вернуть обещание
function prompt(text){
return new Promise((resolve, reject) => {
dialogs.prompt(text , val => {resolve(val)})
})
}
тогда вы можете использовать его вот так
prompt("Hi, there").then(answer => console.log(answer))