Sequelize - NodeJS - Return o function is undefined











up vote
0
down vote

favorite












I am trying to understand how I can fix my code, because my function is return undefined. I am wirting my code with Sequelize and NodeJS.



exports.getCreditsStudent = function(sgecode,collections,grade,year){
mssql.query('SELECT total FROM [dbo].[creditosAvulsos] WHERE codsge = $sgecode1 and nivelensino_idnivelensino = $collections1 and produto_idproduto = $grade1 and ano = $year1',
{ bind:{sgecode1: sgecode, collections1: collections, grade1: grade, year1: year}, type: mssql.QueryTypes.SELECT})
.then(total => {
return total
})


}



And I call this function on my Service.js, like this:



examples = db.getCreditsStudent(sgecode,collections,grade,year);


Where and how is the problem?



Thanks.










share|improve this question


























    up vote
    0
    down vote

    favorite












    I am trying to understand how I can fix my code, because my function is return undefined. I am wirting my code with Sequelize and NodeJS.



    exports.getCreditsStudent = function(sgecode,collections,grade,year){
    mssql.query('SELECT total FROM [dbo].[creditosAvulsos] WHERE codsge = $sgecode1 and nivelensino_idnivelensino = $collections1 and produto_idproduto = $grade1 and ano = $year1',
    { bind:{sgecode1: sgecode, collections1: collections, grade1: grade, year1: year}, type: mssql.QueryTypes.SELECT})
    .then(total => {
    return total
    })


    }



    And I call this function on my Service.js, like this:



    examples = db.getCreditsStudent(sgecode,collections,grade,year);


    Where and how is the problem?



    Thanks.










    share|improve this question
























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      I am trying to understand how I can fix my code, because my function is return undefined. I am wirting my code with Sequelize and NodeJS.



      exports.getCreditsStudent = function(sgecode,collections,grade,year){
      mssql.query('SELECT total FROM [dbo].[creditosAvulsos] WHERE codsge = $sgecode1 and nivelensino_idnivelensino = $collections1 and produto_idproduto = $grade1 and ano = $year1',
      { bind:{sgecode1: sgecode, collections1: collections, grade1: grade, year1: year}, type: mssql.QueryTypes.SELECT})
      .then(total => {
      return total
      })


      }



      And I call this function on my Service.js, like this:



      examples = db.getCreditsStudent(sgecode,collections,grade,year);


      Where and how is the problem?



      Thanks.










      share|improve this question













      I am trying to understand how I can fix my code, because my function is return undefined. I am wirting my code with Sequelize and NodeJS.



      exports.getCreditsStudent = function(sgecode,collections,grade,year){
      mssql.query('SELECT total FROM [dbo].[creditosAvulsos] WHERE codsge = $sgecode1 and nivelensino_idnivelensino = $collections1 and produto_idproduto = $grade1 and ano = $year1',
      { bind:{sgecode1: sgecode, collections1: collections, grade1: grade, year1: year}, type: mssql.QueryTypes.SELECT})
      .then(total => {
      return total
      })


      }



      And I call this function on my Service.js, like this:



      examples = db.getCreditsStudent(sgecode,collections,grade,year);


      Where and how is the problem?



      Thanks.







      node.js sql-server sequelize.js






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 8 at 18:40









      Lucas Calado Cerbelo

      62




      62
























          1 Answer
          1






          active

          oldest

          votes

















          up vote
          0
          down vote













          The function getCreditsStudent does not actually return anything. Instead it simply defines a async process. You'll need to return the promise you've defined and then either use async/await or a promise chain to use the result.



          exports.getCreditsStudent = function(sgecode,collections,grade,year){
          return mssql.query('SELECT total FROM [dbo].[creditosAvulsos] WHERE codsge = $sgecode1 and
          nivelensino_idnivelensino = $collections1 and produto_idproduto = $grade1 and ano = $year1',
          { bind:{sgecode1: sgecode, collections1: collections, grade1: grade, year1: year},
          type: mssql.QueryTypes.SELECT})
          .then(total => {
          return total
          })
          }


          And then inside an async function you can do



          examples = await db.getCreditsStudent(sgecode,collections,grade,year);


          or you can use



          db.getCreditsStudent(sgecode, collections, grade, year)
          .then(value => {
          examples = value;
          // whatever you want to do with examples...
          });





          share|improve this answer





















            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














             

            draft saved


            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53214172%2fsequelize-nodejs-return-o-function-is-undefined%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            0
            down vote













            The function getCreditsStudent does not actually return anything. Instead it simply defines a async process. You'll need to return the promise you've defined and then either use async/await or a promise chain to use the result.



            exports.getCreditsStudent = function(sgecode,collections,grade,year){
            return mssql.query('SELECT total FROM [dbo].[creditosAvulsos] WHERE codsge = $sgecode1 and
            nivelensino_idnivelensino = $collections1 and produto_idproduto = $grade1 and ano = $year1',
            { bind:{sgecode1: sgecode, collections1: collections, grade1: grade, year1: year},
            type: mssql.QueryTypes.SELECT})
            .then(total => {
            return total
            })
            }


            And then inside an async function you can do



            examples = await db.getCreditsStudent(sgecode,collections,grade,year);


            or you can use



            db.getCreditsStudent(sgecode, collections, grade, year)
            .then(value => {
            examples = value;
            // whatever you want to do with examples...
            });





            share|improve this answer

























              up vote
              0
              down vote













              The function getCreditsStudent does not actually return anything. Instead it simply defines a async process. You'll need to return the promise you've defined and then either use async/await or a promise chain to use the result.



              exports.getCreditsStudent = function(sgecode,collections,grade,year){
              return mssql.query('SELECT total FROM [dbo].[creditosAvulsos] WHERE codsge = $sgecode1 and
              nivelensino_idnivelensino = $collections1 and produto_idproduto = $grade1 and ano = $year1',
              { bind:{sgecode1: sgecode, collections1: collections, grade1: grade, year1: year},
              type: mssql.QueryTypes.SELECT})
              .then(total => {
              return total
              })
              }


              And then inside an async function you can do



              examples = await db.getCreditsStudent(sgecode,collections,grade,year);


              or you can use



              db.getCreditsStudent(sgecode, collections, grade, year)
              .then(value => {
              examples = value;
              // whatever you want to do with examples...
              });





              share|improve this answer























                up vote
                0
                down vote










                up vote
                0
                down vote









                The function getCreditsStudent does not actually return anything. Instead it simply defines a async process. You'll need to return the promise you've defined and then either use async/await or a promise chain to use the result.



                exports.getCreditsStudent = function(sgecode,collections,grade,year){
                return mssql.query('SELECT total FROM [dbo].[creditosAvulsos] WHERE codsge = $sgecode1 and
                nivelensino_idnivelensino = $collections1 and produto_idproduto = $grade1 and ano = $year1',
                { bind:{sgecode1: sgecode, collections1: collections, grade1: grade, year1: year},
                type: mssql.QueryTypes.SELECT})
                .then(total => {
                return total
                })
                }


                And then inside an async function you can do



                examples = await db.getCreditsStudent(sgecode,collections,grade,year);


                or you can use



                db.getCreditsStudent(sgecode, collections, grade, year)
                .then(value => {
                examples = value;
                // whatever you want to do with examples...
                });





                share|improve this answer












                The function getCreditsStudent does not actually return anything. Instead it simply defines a async process. You'll need to return the promise you've defined and then either use async/await or a promise chain to use the result.



                exports.getCreditsStudent = function(sgecode,collections,grade,year){
                return mssql.query('SELECT total FROM [dbo].[creditosAvulsos] WHERE codsge = $sgecode1 and
                nivelensino_idnivelensino = $collections1 and produto_idproduto = $grade1 and ano = $year1',
                { bind:{sgecode1: sgecode, collections1: collections, grade1: grade, year1: year},
                type: mssql.QueryTypes.SELECT})
                .then(total => {
                return total
                })
                }


                And then inside an async function you can do



                examples = await db.getCreditsStudent(sgecode,collections,grade,year);


                or you can use



                db.getCreditsStudent(sgecode, collections, grade, year)
                .then(value => {
                examples = value;
                // whatever you want to do with examples...
                });






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 8 at 19:26









                Wan

                257




                257






























                     

                    draft saved


                    draft discarded



















































                     


                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53214172%2fsequelize-nodejs-return-o-function-is-undefined%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Schultheiß

                    Liste der Kulturdenkmale in Wilsdruff

                    Android Play Services Check