我只想获取返回值setTimeout
但我得到的是函数的完整文本格式?
function x () {
setTimeout(y = function () {
return 'done';
}, 1000);
return y;
}
console.log(x());
为此,您需要使用 Promise。他们是ES6 中可用但可以填充很容易:
function x() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('done!');
});
});
}
x().then((done) => {
console.log(done); // --> 'done!'
});
With async
/await
在 ES2017 中,如果在async
功能:
async function() {
const result = await x();
console.log(result); // --> 'done!';
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)