如何创建返回Promise的JavaScript异步函数?作业答疑
问题分析
原参考函数是返回Promise的普通函数:
function greeting() { return Promise.resolve("Welcome"); }
问题是要创建一个返回Promise的异步函数,但给出的四个选项均不符合要求,以下逐个拆解分析:
选项逐一排查
- 选项A:语法不完整,仅包含
return "Welcome"; },缺少函数定义的核心部分,直接排除。 - 选项B:这是普通函数,返回值是字符串
"Welcome",并非Promise,完全不符合题目要求。 - 选项C:
resolve是Promise构造函数回调的专属参数,单独调用会触发“未定义”错误,且该函数未标记为异步函数,无法返回Promise,排除。 - 选项D:
await关键字只能在async函数内部使用,不能直接修饰函数声明,属于语法错误;同时该函数未添加async标识,返回值仍是字符串,不是Promise,错误。
正确写法(选项中未提供)
要创建返回Promise的异步函数,正确的做法是给函数添加async关键字——异步函数会自动将返回值包装为Promise,写法如下:
async function greeting() { return "Welcome"; }
这个函数的返回值完全等价于原参考函数的Promise.resolve("Welcome")。
内容的提问来源于stack exchange,提问作者dafaza
相关产品推荐
相关产品推荐

