Javascript Firebase云函数-函数返回未定义的预期承诺或值

Javascript Firebase云函数-函数返回未定义的预期承诺或值,javascript,firebase,google-cloud-functions,mailgun,Javascript,Firebase,Google Cloud Functions,Mailgun,我已经阅读了其他线程,并试图将某些内容返回到我的云函数,但它仍然给出相同的函数返回的未定义、预期承诺或值警告。。。我错过了什么 基本上,我使用mailgun js向用户和管理员发送了两封电子邮件,尽管发送成功,我仍然在日志中收到相同的警告 exports.sendSample = functions.database .ref( 'sample/{pushID}' ) .onWrite( event => { // only trigger if it's new if

我已经阅读了其他线程,并试图将某些内容返回到我的云函数,但它仍然给出相同的函数返回的未定义、预期承诺或值警告。。。我错过了什么

基本上,我使用mailgun js向用户和管理员发送了两封电子邮件,尽管发送成功,我仍然在日志中收到相同的警告

exports.sendSample = functions.database
.ref( 'sample/{pushID}' )
.onWrite( event => {

    //  only trigger if it's new
    if ( !event.data.exists() || event.data.previous.exists() ) return 0

    const e = event.data.val()

    const toUser = {
        to      : `${ e.email }`,
        from    : `xxx`,
        subject : `xxx`,
        html    : `xxx`
    }

    const toAdmin = {
        to      : `${ e.admin }`,
        from    : `xxx`,
        subject : `xxx`,
        html    : `xxx`
    }

    //  send sms
    if ( e.mobile !== 'none' ) {
        return client.messages.create({
            body : `xxx`,
            to   : `${e.mobile}`,
            from : `xxx`
        })
        .then( message => {
            sendEmail()
            return message.sid
        })
        .catch( err => {
            return err
        })
    } else {
        sendEmail()
    }

    //  send email
    function sendEmail() {
        if ( e.email !== 'none' ) {
            return mailgun.messages().send( toUser, ( err, body ) => {
                return ( err, body )
                return mailgun.messages().send( toAdmin, ( err, body ) => {
                    return ( err, body )
                })
            })
        } else {
            return true
        }
    }
})

如前所述,您需要返回一个值

if (e.email !== 'none') {
    ...
} else {
    return true;
}

如前所述,您需要返回一个值

if (e.email !== 'none') {
    ...
} else {
    return true;
}
这个怎么样

// send sms
if ( e.mobile !== 'none' ) {
  ...

} else {
    sendEmail()
}

这个怎么样

// send sms
if ( e.mobile !== 'none' ) {
  ...

} else {
    sendEmail()
}


你能分享完整的云函数代码吗?正如Mark所说:确保我们能看到再现问题的完整但最小的云函数代码。现在我们不知道如何将
sendmail
连接到云功能。但我立即注意到,当e.email==='none'时,您不会返回任何内容,这可能是一个问题。当email==none时,我尝试返回true,但结果仍然类似@mark922我正在用完整的函数更新问题。你能分享完整的云函数代码吗?正如Mark所说:确保我们能看到再现问题的完整但最小的云函数代码。现在我们不知道如何将
sendmail
连接到云功能。但我立即注意到,当e.email==='none'时,您不会返回任何内容,这可能是一个问题。当email==none时,我尝试返回true,但结果仍然类似@mark922我正在用完整的函数更新问题。我尝试过这样做,但结果还是一样。。。函数成功运行,但返回了未定义的警告。return sendEmail()唉,我原以为“return sendEmail()”解决了这个问题,但在成功运行几天后。。。今天它再次发出同样的警告。。。函数返回了未定义的预期承诺或值。。。叹息。。。我已经准备好了所有的东西去归还一些东西,还缺少什么@4Face我试过这么做,但结果还是一样。。。函数成功运行,但返回了未定义的警告。return sendEmail()唉,我原以为“return sendEmail()”解决了这个问题,但在成功运行几天后。。。今天它再次发出同样的警告。。。函数返回了未定义的预期承诺或值。。。叹息。。。我已经准备好了所有的东西去归还一些东西,还缺少什么@4面