Javascript 巴别塔节点:一个等待工作,多个不工作';T使用SyntaxError中断:意外标记
我有一个使用Javascript 巴别塔节点:一个等待工作,多个不工作';T使用SyntaxError中断:意外标记,javascript,node.js,asynchronous,firebase,babeljs,Javascript,Node.js,Asynchronous,Firebase,Babeljs,我有一个使用babel节点运行的脚本,它与其中一个await一起工作,但是当我添加另一个await时,它会抛出一个SyntaxError:Unexpected token错误,看起来像这样: SyntaxError: C:/Users/User/Documents/thing/updateFirebase.js: Unexpected token (73:12) [0m 71 | [31m'votes'[39m[
babel节点运行的脚本,它与其中一个await
一起工作,但是当我添加另一个await
时,它会抛出一个SyntaxError:Unexpected token
错误,看起来像这样:
SyntaxError: C:/Users/User/Documents/thing/updateFirebase.js: Unexpected token (73:12)
[0m 71 | [31m'votes'[39m[1m:[22m [35m0[39m
72 | [32m}[39m[1m;[22m
> 73 | await writeNewData[94m[1m([22m[39mcard[1m.[22mname[1m,[22m newData[1m,[22m newEditionArrayId[94m[1m)[22m[39m[1m;[22m
| ^
74 | [32m}[39m
75 | [32m}[39m
76 | [36melse[39m [32m{[39m [90m
我正在使用Firebase的实时数据库,我的第一个等待就是等待获取数据块:
let snapshot = await dbRef.once('value');
然后我做了一些其他的事情,进入一个循环,然后做这个:
await writeNewData(book.name, newData, newEditionArrayId);
这就是被调用的函数:
function writeNewData(name, object, arrayId) {
var localMidRef = Firebase.database().ref(name + "/editions/"+ arrayId);
console.log("writing new data to "+name);
return localMidRef.set(object);
}
我假设set()
是异步工作的,因为您可以向它传递回调(我还没有在Firebase的文档中找到任何证明它的文档…)。但我不明白为什么该死的wait关键字会在第二次使用时而不是第一次使用时搞砸解析
我的.babelrc
文件:
{
"presets": ["es2015", "react"],
"plugins": ["syntax-async-functions","transform-regenerator"]
}
如果我把stage-0
放在那里,它就会停止工作。首先修复提示,显示ANSI颜色,而不是转义码,这样我们就不必猜测错误在哪里
您还可以使用await和babel进行简单的独立测试,以确保这不是问题。首先修复提示以显示ANSI颜色而不是转义码,这样我们就不必猜测错误在哪里
你也可以用await和babel做一个简单的独立测试,以确保这不是问题。我认为这不是await。什么是完整的错误消息,什么是意外的标记?将错误消息添加到OP。我不知道它是哪个标记,因为错误消息也有这些矩形字符,而箭头指向的正是矩形字符。当你说“进入循环”时,你是在使用forEach
?因为它们将位于foreach回调中,而foreach回调不是异步函数。向我们展示调用writeNewData
@loganfsmyth的真实代码啊,是的。。。是的。这可能就是原因。我想把它换成正常的for
循环会解决这个问题吗?我不认为这是等待。什么是完整的错误消息,什么是意外的标记?将错误消息添加到OP。我不知道它是哪个标记,因为错误消息也有这些矩形字符,而箭头指向的正是矩形字符。当你说“进入循环”时,你是在使用forEach
?因为它们将位于foreach回调中,而foreach回调不是异步函数。向我们展示调用writeNewData
@loganfsmyth的真实代码啊,是的。。。是的。这可能就是原因。我假设将其切换为正常的for
循环可以解决问题?我知道不是,因为我的第一次等待工作正常。它确实let snapshot=wait dbRef.one('value')
很好。哦,谢谢你帮我逃走了。。。我不知道是什么导致了这些盒子…我知道不是,因为我的第一次等待很好。它确实let snapshot=wait dbRef.one('value')
很好。哦,谢谢你帮我逃走了。。。我不知道是什么导致了这些箱子。。。