如何使用 Node.js 异步服务多个 QBWC 客户端

How to asynchronously service multiple QBWC clients with Node.js

想法是使用 Node.js 实现 QBWC Web 服务,它可以以异步方式处理多个传入请求。目前我正在研究 qbws,它是 QuickBooks 桌面 Web 连接器的 Node.js 网络服务。关于如何扩展它以支持服务方法的异步架构有什么想法吗?
提前致谢!

soap module supports asynchronous function calls which makes this easy to do. To use the same template as ,你可以这样做:

var soap = require('soap');

var yourService = {
    QBWebConnectorSvc: {
        QBWebConnectorSvcSoap: {
            serverVersion: function (args, callback) {

                // serverVersion code here

                callback({
                    serverVersionResult: { string: retVal }
                });
            },
            clientVersion: function (args, callback) {

                //clientVersion code here

                callback({
                    clientVersionResult: { string: retVal }
                });
            },

            // and all other service functions required by QBWC

        }
    }
};

有两个区别:

  1. 每个方法签名都有一个额外的 callback 参数
  2. 没有 return,由 callback() 处理。

我目前没有合适的环境来测试它,但我创建了 a client to imitate QuickBooks Web Connector,它运行良好。将 qbws 方法转换为异步方法允许它同时服务多个客户端(包括一个合法的 QBWC 客户端)。