另一个函数内部的Ionic Call函数(JS服务)

时间:2018-09-20 12:59:41

标签: javascript angular ionic-framework

大家好,我有以下问题:我正忙于项目的Ionic移动应用程序,需要在我的一个服务.js文件(pushNotificationService.js)中调用另一个函数中的一个函数

这是代码:

            checkForNewMessage: function () {
            console.log("This is the regID : " + regID);
            console.log($rootScope.regID);

            var data =
            {
                "action": "push_messages",
                "key": systemKey,
                "data":
                {
                    "action": "checkNewMessages",
                    "device_id": regID,
                    "key": systemKey
                }

            };

            console.log(json_encode(data));
            return $http.post(webserviceURL, json_encode(data))
                .then(function (response) {
                    getMsgNotiLocation(); //this is the function not working
                    return response;
                });
            // getMsgNotiLocation();
        },

编辑:这是getMsgNotiLocation():

            getMsgNotiLocation: function () {
            $rootScope.showCounter = true;
            //console.log("This is what gets returned with the regID : " + json_decode(JSON.stringify(window.localStorage.getItem(regID))));
            var theMessagePage = json_decode(window.localStorage.getItem(regID));
            for (var x in theMessagePage) {
                if (theMessagePage[x].read != "true") {
                    console.log("We have gotten this far atleast : " + JSON.stringify(theMessagePage[x].page))
                    if (theMessagePage[x].page === "messages") {
                        $rootScope.afkondigMsgCount = $rootScope.afkondigMsgCount + 1;
                        $rootScope.msgcount = $rootScope.msgcount + 1;
                        console.log(" Afkondigings Message recieved and message count : " + JSON.stringify($rootScope.afkondigMsgCount));
                    }
                    else if (theMessagePage[x].page === "calendar") {
                        $rootScope.kalenderMsgCount = $rootScope.kalenderMsgCount + 1;
                        $rootScope.afkondigMsgCount = $rootScope.afkondigMsgCount + 1;
                        $rootScope.msgcount = $rootScope.msgcount + 1;
                        console.log(" Calendar Message recieved and message count : " + JSON.stringify($rootScope.kalenderMsgCount));
                    }
                    else if (theMessagePage[x].page === "sponsor") {
                        $rootScope.sponsorMsgCount = $rootScope.sponsorMsgCount + 1;
                        $rootScope.afkondigMsgCount = $rootScope.afkondigMsgCount + 1;
                        $rootScope.msgcount = $rootScope.msgcount + 1;
                        console.log("SPONSOR Message recieved and message count : " + JSON.stringify($rootScope.sponsorMsgCount));
                    }
                    else if (theMessagePage[x].page === "#/app/schools/2/Academics") {
                        $rootScope.akademieMsgCount = $rootScope.akademieMsgCount + 1;
                        $rootScope.afkondigMsgCount = $rootScope.afkondigMsgCount + 1;
                        $rootScope.msgcount = $rootScope.msgcount + 1;
                        console.log("Akademie Message recieved and message count : " + JSON.stringify($rootScope.akademieMsgCount));
                    }
                    else if (theMessagePage[x].page === "#/app/schools/3/Sport") {
                        $rootScope.sportMsgCount = $rootScope.sportMsgCount + 1;
                        $rootScope.afkondigMsgCount = $rootScope.afkondigMsgCount + 1;
                        $rootScope.msgcount = $rootScope.msgcount + 1;
                        console.log("Sport Message recieved and message count : " + JSON.stringify($rootScope.sportMsgCount));
                    }
                    else if (theMessagePage[x].page === "#/app/schools/4/Culture") {
                        $rootScope.kultuurMsgCount = $rootScope.kultuurMsgCount + 1;
                        $rootScope.afkondigMsgCount = $rootScope.afkondigMsgCount + 1;
                        $rootScope.msgcount = $rootScope.msgcount + 1;
                        console.log("Kultuur Message recieved and message count : " + JSON.stringify($rootScope.kultuurMsgCount));
                    }
                    else if (theMessagePage[x].page === "contact") {
                        $rootScope.kontakMsgCount = $rootScope.kontakMsgCount + 1;
                        $rootScope.afkondigMsgCount = $rootScope.afkondigMsgCount + 1;
                        $rootScope.msgcount = $rootScope.msgcount + 1;
                        console.log("Kontak Message recieved and message count : " + JSON.stringify($rootScope.Kontak));
                    }
                    else if (theMessagePage[x].page === "#/app/schools/5/Information") {
                        $rootScope.inligtingMsgCount = $rootScope.inligtingMsgCount + 1;
                        $rootScope.afkondigMsgCount = $rootScope.afkondigMsgCount + 1;
                        $rootScope.msgcount = $rootScope.msgcount + 1;
                        console.log("Inligting Message recieved and message count : " + JSON.stringify($rootScope.inligtingMsgCount));
                    }
                    else if (theMessagePage[x].page === "news") {
                        $rootScope.downloadsMsgCount = $rootScope.downloadsMsgCount + 1;
                        $rootScope.afkondigMsgCount = $rootScope.afkondigMsgCount + 1;
                        $rootScope.msgcount = $rootScope.msgcount + 1;
                        console.log("Aflaaibaar Message recieved and message count : " + JSON.stringify($rootScope.downloadsMsgCount));
                    }
                    else if (theMessagePage[x].page === "#/app/schools/1/Applications") {
                        $rootScope.aansoekMsgCount = $rootScope.aansoekMsgCount + 1;
                        $rootScope.afkondigMsgCount = $rootScope.afkondigMsgCount + 1;
                        $rootScope.msgcount = $rootScope.msgcount + 1;
                        console.log("Aansoekvorms Message recieved and message count : " + JSON.stringify($rootScope.aansoekMsgCount));
                    }
                    else if (theMessagePage[x].page === "wallet") {
                        $rootScope.beursieMsgCount = $rootScope.beursieMsgCount + 1;
                        $rootScope.afkondigMsgCount = $rootScope.afkondigMsgCount + 1;
                        $rootScope.msgcount = $rootScope.msgcount + 1;
                        console.log("Beursie Message recieved and message count : " + JSON.stringify($rootScope.beursieMsgCount));
                    }
                    else if (theMessagePage[x].page = "affiliates") {
                        $rootScope.besigheidMsgCount = $rootScope.besigheidMsgCount + 1;
                        $rootScope.afkondigMsgCount = $rootScope.afkondigMsgCount + 1;
                        $rootScope.msgcount = $rootScope.msgcount + 1;
                        console.log("Besigheidsforum Message recieved and message count : " + JSON.stringify($rootScope.besigheidMsgCount));
                    } else {
                        console.log("Everything failed please recheck the if statements");
                    }

                } else {
                    //The same as if the condition is met but just a - instead of a + 
                }
            }
        },

另一个函数工作100%(getMsgNotiLocation()),因为它也在其他地方被调用。当我尝试执行该应用程序时,出现以下错误: ReferenceError:未定义getMsgNotiLocation

我不知道该怎么做,请先感谢您的帮助!

我也知道代码之间的所有注释都是不好的,但是在发布之前,我很好地清理了代码,只是为了跟踪我在哪里做了

1 个答案:

答案 0 :(得分:0)

也许您可以尝试使用箭头功能

return $http.post(webserviceURL, json_encode(data))
                .then((response)=> {
                    this.getMsgNotiLocation(); //this is the function not working
                    return response;
                });