首页 > web前端 > js教程 > 为什么 JavaScript 中会出现'await 仅在异步函数中有效”?

为什么 JavaScript 中会出现'await 仅在异步函数中有效”?

Linda Hamilton
发布: 2025-01-03 19:16:41
原创
526 人浏览过

Why Does

“await 仅在异步函数中有效”错误

在 JavaScript 中,await 关键字仅在异步函数中有效。当尝试在非异步函数中使用await时,会发生此错误。

请考虑以下代码片段:

// lib/helper.js
var myfunction = async function (x, y) {
  return [x, y];
};
exports.myfunction = myfunction;
登录后复制

此代码定义了一个名为 myfunction 的异步函数。在单独的文件中,编写以下代码:

// anotherFile.js
var helper = require('./helper.js');

var start = function (a, b) {
  const result = await helper.myfunction('test', 'test');
};
exports.start = start;
登录后复制

此代码从帮助程序文件访问 myfunction。但是,它尝试在非异步启动函数中调用await,这会引发“await 仅在异步函数中有效”错误。

要解决此问题,应将启动函数设为异步:

async function start(a, b) {
  const result = await helper.myfunction('test', 'test');

  console.log(result);
}
登录后复制

总而言之,使用await 要求封闭函数是异步函数。当错误指定“await 仅在 async 函数中有效”时,请确保调用 wait 的函数正确标记为 async。

以上是为什么 JavaScript 中会出现'await 仅在异步函数中有效”?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板