You can't get a return value from the function you pass to setTimeout
.
The function that called setTimeout
(x
in your example) will finish executing and return before the function you pass to setTimeout
is even called.
Whatever you want to do with the value you get, you need to do it from the function you pass to setTimeout
.
In your example, that would be written as:
function x () {
setTimeout(function () {
console.log("done");
}, 1000);
}
x();