Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法从Android Studio部署到Firebase云功能_Javascript_Node.js_Firebase_Google Cloud Functions - Fatal编程技术网

Javascript 无法从Android Studio部署到Firebase云功能

Javascript 无法从Android Studio部署到Firebase云功能,javascript,node.js,firebase,google-cloud-functions,Javascript,Node.js,Firebase,Google Cloud Functions,我最近根据文档更新了新的云功能 我已经对以前响应我的.onCreate()方法的代码进行了所有更新。然而,现在当我调用firebase deploy--only functions时,我在Android Studio中的终端就会冻结,我会检查firebase控制台中的日志,看是否没有执行任何操作 下面是相关的代码node.js和JavaScript: const functions = require('firebase-functions'); const admin = require('f

我最近根据文档更新了新的云功能

我已经对以前响应我的
.onCreate()
方法的代码进行了所有更新。然而,现在当我调用
firebase deploy--only functions
时,我在Android Studio中的终端就会冻结,我会检查firebase控制台中的日志,看是否没有执行任何操作

下面是相关的代码node.js和JavaScript:

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();

exports.trackVote = 
functions.firestore.document('Polls/{pollId}/responses/{userId}')
.onCreate(change, context => {

       const data = change.after.data();
       const answerSelected = data.answer;

       const answerRef = admin.firestore().doc(`Polls/${event.params.pollId}/answers/${answerSelected}`);
       const voteCountRef = admin.firestore.doc(`Polls/${event.params.pollId}/vote_count`);

        return admin.firestore().runTransaction(t => {
                    return t.get(answerRef)
                        .then(doc => {
                            if (doc.data()) {
                                t.update(answerRef, { vote_count: doc.data().vote_count + 1 });
                            }
                        }
                };
        //do not add to Git
         return admin.firestore().runTransaction(t => {
            return t.get(voteCountRef)
                .then(doc =>){
                    if (doc.data()){
                        t.update(voteCountRef, {vote_count:doc.data().vote_count+1});
                    }
                }
         };

});
编辑:错误终于出现了:

SyntaxError: missing ) after argument list
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:607:28)
at Object.Module._extensions..js (module.js:654:10)
at Module.load (module.js:556:32)
at tryModuleLoad (module.js:499:12)
at Function.Module._load (module.js:491:3)
at Module.require (module.js:587:17)
at require (internal/module.js:11:18)
at /usr/local/lib/node_modules/firebase-tools/lib/triggerParser.js:18:11

你在标题中提到了runTransaction。你为什么认为这与这里有关?你是说如果你在没有事务的情况下部署一个函数,它可以正常工作吗?顺便说一句,你的函数中有两个相互冲突的返回语句。你不能返回,然后再返回。实际上我可以在0.9.1中部署,更新后我无法部署。是的,.runTransaction()有点不相关,我根本无法部署,感谢您的快速响应,但您的代码在语法上是不正确的。您仍然存在关于`的问题。然后(doc=>){`(即
不应该在那里),但现在你也错过了许多闭包后的闭包
。堆栈溢出不是帮助解决此类错误的有效工具。事实上,像jslint这样简单得多的工具可以比我们更快地向你指出这些错误。如果你是JavaScript新手,Firebase的云函数不是最好的工具最好的学习方法。我建议先阅读和/或学习。它们涵盖了许多基本的JavaScript、Web和Firebase交互。您还可以在本地Node.js进程中使用Admin SDK,可以使用本地调试器对其进行调试。之后,您还可以更好地编写云函数的代码。