该函数应该是可调用的

时间:2018-11-13 18:12:52

标签: javascript html function google-cloud-firestore

我有两个js文件。在第一个示例中,我使用以下代码:

var rightsRef = db.collection("users").doc(uid).collection("rights");
        if(createDocumentWithoutId(rightsRef, "readGrades", "false", null, null, null, null) === true) {
          window.location.href = "../public/main/main_index.html";
        }
        else {

        }  

在第二个js文件中,我使用以下代码:

function createDocumentWithoutId(var databaseRef, var titleValue1, var contentValue1, var titleValue2, var contentValue2, var titleValue3, var contentValue3) {
  databaseRef.set({
    titleValue1: contentValue1,
    titleValue2: contentValue2,
    titleValue3: contentValue3,
  }).then(function() {
    return true;
  }).catch(function(error) {
    console.error("Error adding document: ", error);
    return false;
  });
}  

通过这种方式,我可以调用第二个js文件的功能,将它们“导入”到HTML文件中:

    <script type="text/javascript" src="javascript1.js"></script>
<script type="text/javascript" src="../javascript2_folder/javascript2.js"></script>

但是我收到此错误: ReferenceError: createDocumentWithoutId is not defined

2 个答案:

答案 0 :(得分:0)

您的第一个JS文件在第二个之前已被完全执行。这就是导致您出错的原因-第二个文件中的函数尚未加载。您可以颠倒它们在HTML中定义的顺序,以便在调用函数之前对其进行定义。

答案 1 :(得分:0)

JS文件在加载时执行,在这种情况下,执行包括定义函数。尝试反转文件的加载顺序,或对第一个代码进行某种检查,例如:

//tr[normalize-space(td)="key1" and normalize-space(td[2])="key2"]