【发布时间】:2023-02-10 17:47:37
【问题描述】:
我正在学习 Javascript promises 和 thens,并且对使用 Node.js 的这个错误感到困惑。
我希望 dostart() 等到非阻塞睡眠完成,然后在完成后将“已解决”返回给主函数。
我收到此错误:
dostart().then(value => {
^
TypeError: Cannot read properties of undefined (reading 'then')
帮助赞赏:)
function nonBlockingSleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
function dostart() {
console.log("Hello2");
nonBlockingSleep(2000).then(() => {
console.log("Done");
return Promise.resolve("Resolved");
});
}
dostart().then(value => {
// main func - I'd like console.log to show "Resolved" when dostart() is finished
console.log(value);
})
【问题讨论】:
-
doStart()没有显式返回任何内容,也没有标记为async。因此它会自动生成undefined。 -
return nonBlockingSleep(2000).then(....)
标签: javascript promise