【问题标题】:Node Js MsSql Server Async Query and Procedure ProblemNode Js MsSql Server 异步查询和过程问题
【发布时间】:2018-10-01 13:46:21
【问题描述】:

我需要同步查询和结果。我的功能是不等待数据库响应。 Q 延迟不起作用。 await 功能不起作用。 promise 不起作用。

使用:Patrik Simek (mssql@4.2.1)

这是我的代码:

API函数代码

app.post('/api/LoginStep1', function (request, response) {
    var Lang = request.query.Lang;
    var Body = request.body;
    var User = JSON.parse(Body.User);
    TResponse = {};
    TResponse = DoLogin(Lang, User);
    response.status(200).send(JSON.stringify(TResponse, null, 3));
});

数据库响应函数

function DoLogin(Lang, User) {
    //var deferred = Q.defer();
    TResponse = {};
    SqlRequest.input('LangCode', sql.NVarChar, Lang);
    SqlRequest.input('UsernameOrMail', sql.NVarChar, User.Mail);
    SqlRequest.output('Status', sql.Int);
    SqlRequest.output('StatusMessage', sql.NVarChar);

    SqlRequest.execute('SpLoginStep1').then(function (response) {

        //console.log(response.recordset);
        TResponse.Status = response.output.Status;
        TResponse.StatusMessage = response.output.StatusMessage;
        //deferred.resolve(response);
        //return deferred.promise;
        //return callback(null, response);

    }).catch(function (e) {
        //return callback(e, null);
        //deferred.resolve(e.status);
        //deferred.reject(e);
        //return deferred.promise;    
    });
    ////return deferred.promise;
}

【问题讨论】:

    标签: node.js async-await synchronization pymssql


    【解决方案1】:

    如果我理解你的问题是正确的,你的函数执行在你从数据库得到响应之前就结束了。

    我在您的代码中看不到 await 关键字。这就是在“同步”模式下使用异步函数的方式。

    您看过examplesmssql 包吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-03
      • 2016-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多