这个想法是使用 Node.js 实现一个 QBWC Web 服务,它可以以异步方式为多个传入请求提供服务。目前我正在研究qbws,它是 QuickBooks Desktop Web 连接器的 Node.js Web 服务。关于如何扩展它以支持服务方法的异步架构的任何想法?
提前致谢!
问问题
516 次
1 回答
4
soap模块支持异步函数调用,这使得这很容易做到。要使用与我的其他答案相同的模板,您可以这样做:
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
}
}
};
有两个区别:
- 每个方法签名都有一个附加
callback
参数 - 没有
return
,callback()
而是由处理。
我目前没有合适的环境来测试它,但我创建了一个客户端来模仿 QuickBooks Web 连接器,它运行良好。将 qbws 方法转换为异步允许它同时为多个客户端提供服务(包括一个合法的 QBWC 客户端)。
于 2015-09-30T16:17:09.560 回答