【发布时间】:2021-01-04 10:28:38
【问题描述】:
我是一名 JS 学生。我有一段代码返回错误。
const { promises } = require("fs");
const compareToTen = function(testNumber) {
return new Promise((resolve, reject) => {
if (typeof testNumber !== "number") {
reject("Not a number");
}
setTimeout(() =>{
if (testNumber > 10) {
resolve(true);
}
else {
resolve(false);
}
}, testNumber*100)
})
}
let timeStart = Date.now()
let result= await compareToTen(8)
console.log("time", Date.now() - timeStart)
console.log("result", result)
SyntaxError: await is only valid in async function
这是返回语法错误。
你们能解释一下我在这里做错了什么吗?
【问题讨论】:
-
您只能在
async函数中使用await。let result= await compareToTen(8)不在异步函数中。请改用.then() -
还有use
;一直,而不只是某些时候 -
尝试将函数定义为函数,而不是
const变量。这里可能是function compareToTen(...)。您使用的这种风格会导致很多混乱和复杂,这通常是不必要的,除了一些非常狭隘的情况需要它。
标签: javascript promise async-await es6-promise