为什么我得到 Uncaught TypeError: sendToServer(...) is not a function in firebase

时间:2021-03-25 17:30:36

标签: javascript firebase

我正在使用 firebase 制作消息传递系统。它正确地将消息发送到 firebase,但是当我发送消息时,它不断抛出错误:

Uncaught TypeError: sendToServer(...) is not a function
    at sendToP.js:21
    at EventRegistration.ts:109
    at Qe (util.ts:539)
    at EventQueue.ts:159
    at Pi (EventQueue.ts:127)
    at Ii (EventQueue.ts:107)
    at wo (Repo.ts:365)
    at ro.s.server_ [as onDataUpdate_] (Repo.ts:230)
    at ro.onDataPush_ (PersistentConnection.ts:661)
    at ro.onDataMessage_ (PersistentConnection.ts:654)

这里是将消息添加到数据库的函数

function cleanMessage(message){
  message = message.split(" ").map(x => badWords.indexOf(x) != -1? x = (x.split("").map(c => c = '*')).join(""): x = x).join(" ")
  return message
}

function sendToServer(obj) {
  autoId = firebase.database().ref('users').push().key
  firebase.database().ref('/general/' + autoId.toString()).set(obj)
}

$(".send").click(function() {
  firebase.database().ref('Users/' + firebase.auth().currentUser.uid).on('value', function(snapshot) {
    digits = snapshot.val().digits
    let message = cleanMessage($(".enter-message").val())

    let messageObject = {
      message: message,
      sender: digits
    }
    sendToServer(messageObject)
    $(".enter-message").val('') 
  });
})

这里是获取最后一条消息的函数。注意:这是一个单独的脚本

// Add message to the browser window

firebase.database().ref('general').orderByKey().limitToLast(1).on("value", function(snapshot){
  message = ""
  snapshot.forEach(function(elem){
    message = elem.val().message
  })
})

非常感谢您的帮助。

0 个答案:

没有答案