UpdatePeerNotification

UpdatePeerNotification

我不确定这个问题是否太具体。我在更新数据库的函数中使用firebase:

UpdatePeerNotification = (content) => {
        firebase.database().ref('users').child(this.props.match.params.username).
        .update('something)
    }


如果我通常将其称为this.updatePeerNotification('abc');它正在工作
但是当尝试使用

Promise(this.updatePeerNotification('abc')).then(() => do something))


要么

this.updatePeerNotification('abc').then(() => do something))


它会引发以下错误:
未处理的拒绝(TypeError):未定义不是承诺

正常调用该函数但附加.then会出错。另外,刷新页面后,该函数被调用而没有错误

在此先多谢!

最佳答案

您没有从UpdatePeerNotification返回承诺(或其他任何东西),这会导致调用方尝试在then上调用undefined(函数的默认返回值不返回任何值)。

您可能正在寻找返回update()的结果,这是一个承诺,可以在服务器上完成更新时解决:

UpdatePeerNotification = (content) => {
    return firebase.database().ref('users').child(this.props.match.params.username).
        .update('something)
}

09-16 11:11