当前位置: 首页 > 知识库问答 >
问题:

NodeJs WAIT仅在异步函数[duplicate]中有效

吕扬
2023-03-14

我正在尝试设置一些数据在使用这个节点js代码的FIRESTAR:

const db = admin.firestore();
const allDB = db.collection("like").doc("all").collection("movies");
const s1 = db.collection("like").doc("all");
await s1.set({
  type: ["all"],
});

在控制台中运行文件:节点文件。js

给我这个错误:

await s1.set({
^^^^^

SyntaxError: await is only valid in async function
    at wrapSafe (internal/modules/cjs/loader.js:1053:16)
    at Module._compile (internal/modules/cjs/loader.js:1101:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
    at Module.load (internal/modules/cjs/loader.js:985:32)
    at Function.Module._load (internal/modules/cjs/loader.js:878:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
    at internal/main/run_main_module.js:17:47

如何解决这个问题

共有3个答案

贺经纶
2023-03-14

就像上面的答案一样,你只需要通过使用async标题来创建一个异步函数,然后用里面的东西命名一个函数

董宜然
2023-03-14

您应该在异步函数中使用它,这将起作用:

const doSomething = async () => {
  const db = admin.firestore();
  const allDB = db.collection("like").doc("all").collection("movies");
  const s1 = db.collection("like").doc("all");
  await s1.set({
    type: ["all"],
  });
}
郗丰
2023-03-14

用异步函数包装代码

async function run(){
  const db = admin.firestore();
  const allDB = db.collection("like").doc("all").collection("movies");
  const s1 = db.collection("like").doc("all");
  await s1.set({
    type: ["all"],
  });
}

run().catch(e => { console.error(e); process.exit(-1); })
 类似资料:
  • 我在中写了这段代码 然后我尝试在另一个文件中使用它 我得到一个错误 “等待仅在异步函数中有效” 问题是什么?

  • 我在Sequelize的节点8上。js 当尝试使用时,出现以下错误。 代码: 获取以下错误: 我做错了什么?

  • 在开始之前,我承认有几个问题可能听起来与我的标题类似,但是,我读到的所有问题都比我的代码更复杂,解释似乎与我的情况无关。 有人能帮我理解我的代码(下面的代码片段)中发生了什么导致了这个错误吗 未捕获SyntaxError:await仅在异步函数和顶级模块体中有效。 据我所见,导致错误的位于“顶层”主体中。或者是顶级身体的其他意思?谢谢! 编辑区别于其他建议(类似)的问题在这里:我的问题不涉及htt

  • 我编写了一段代码,使用promise从异步调用返回一些数据。当我尝试执行时,我得到“语法错误等待仅在异步函数中有效”,并且我无法得到代理应用程序请求。。。错误:连接错误。 我不确定为什么会出现这些错误 在函数调用之前,我尝试过使用异步,但没有成功 我希望变量体具有从httpGet函数返回的数据。现在我得到了上面提到的错误。但是不使用wait,我得到body的值为{}。 请帮帮忙

  • 试图使一个chrome扩展刮一个网站,但它总是在内容完全加载之前(在manifest.json的文档读取后尝试) 每次有人叫我: 还尝试: