【发布时间】:2014-09-15 17:18:42
【问题描述】:
我只想从setTimeout获取返回值,但我得到的是函数的完整文本格式?
function x () {
setTimeout(y = function () {
return 'done';
}, 1000);
return y;
}
console.log(x());
【问题讨论】:
-
你的语法是这样的,它只会返回函数。
-
您希望返回“完成”吗?如何返回函数的结果,它会在 1000 毫秒后调用?
-
超时是异步的,所以你不能从它们返回。 (嗯,你可以,但返回值无处可去)
-
最好在函数
x中获得回调并使用done 调用该函数。 -
const x = async (waitMs) => new Promise((resolve) => setTimeout(() => resolve('done'), waitMs));console.log(await x(1000));
标签: javascript return settimeout return-value