Javascript &引用;ReferenceError:未定义请求";在Firebase云函数中

Javascript &引用;ReferenceError:未定义请求";在Firebase云函数中,javascript,node.js,firebase,firebase-realtime-database,google-cloud-functions,Javascript,Node.js,Firebase,Firebase Realtime Database,Google Cloud Functions,Firebase云函数日志在触发云函数时显示“ReferenceError:未定义请求”错误。 以下是我的云函数日志输出: ReferenceError: request is not defined at Promise.all.then.result (/srv/index.js:21:24) at <anonymous> at process._tickDomainCallback (internal/process/next_tick.js:2

Firebase云函数日志在触发云函数时显示“ReferenceError:未定义请求”错误。 以下是我的云函数日志输出:

    ReferenceError: request is not defined
    at Promise.all.then.result (/srv/index.js:21:24)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:229:7)

我已经尝试过,但无法找到解决方法。

您使用变量“request”定义了“receivername”,但实际上似乎没有定义“request”,而@jpthesolver2提到,
request
没有声明。您可能输入了一个错误:似乎应该是
const receivername=result[1].val()['name']
而不是
const receivername=request[1].val()['name']。请注意,日志指示您在
index.js
文件的哪一行获得错误:
在Promise.all.then.result(/srv/index.js:21:24)
    const functions = require('firebase-functions');
    const admin = require('firebase-admin');
    admin.initializeApp();

    exports.requestNotification=functions.database.ref('/Users/{userId}/Book_requests/{requestId}')
    .onCreate((snap, context) =>{
        const object=snap.val();
        const recevierId=context.params.userId;
        const requestId=context.params.requestId;
        const requesterId=object['requesterId'];
        const bookId=object['bookId'];

        const requesterRef=admin.database().ref('/Users/'+requesterId).once('value');
        const bookRef=admin.database().ref('/Books/'+bookId).once('value');
        const recieverRef=admin.database().ref('/Users/'+recevierId).once('value');

        return Promise.all([requesterRef,recieverRef,bookRef]).then((result=>{
            const requesterName=result[0].val()['name'];
            const reciverToken=result[1].val()['deviceToken'];
            const bookTitle=result[2].val()['title'];
            const recieverName=request[1].val()['name'];
            const requesterHistory='you have requested to '+recieverName+'for the book '+bookTitle;
            const recieverHistory=requesterName+'requests for the books named '+bookTitle;
            const historyRefRequester=admin.database().ref('/Users/'+requesterId+'/History/').push({
                historyType:"request",
                historyMsg:requesterHistory
            });
            const historyRefReciever=admin.database().ref('/Users/'+recevierId+'/History/').push({
                historyType:"request",
                historyMsg:recieverHistory
            });
            return Promise.all(historyRefRequester,historyRefReciever).then((result=>{
                const payload={
                    notification:{
                        title:" Book Request ",
                        body:requesterName+" wants one of your book named "+bookTitle
                    }
                }
                return admin.messaging().sendToDevice(payload,reciverToken).catch((error=>{
                    console.log('error occured',error);
                }));

            }))



        }))


    });