我在文件中有一些共享代码,我们称之为端点中“必需”的shared.js。它看起来像下面的东西。我似乎无法找到tables
和mssql
服务,也没有关于这些服务的任何文档,除了它们在request
对象上可用。我被迫传递它们还是可以到达它们?
azure.tables
不起作用,tables
也不是像表操作那样的全局对象。在api结束点request.service.tables
包含对象时。我想在一些共享代码中执行其中一些操作,如果可能的话,不要传入它们。
出口代码:
var azure = require('azure');
exports.getActive = function (success, failure) {
// azure.tables doesn't work either
// tables no go
tables.getTable('mytable').where({ active: true }).read(
{
success: function (results) {
var result;
if (results.length > 0) {
result = results[0];
success(result);
} else {
failure("error");
}
},
error: function (err) {
failure(err);
}
}
);
}
答案 0 :(得分:1)
我不会删除我的问题,而是将其留在这里。在阅读了更多文档后,我终于找到了答案:
http://www.windowsazure.com/en-us/develop/mobile/how-to-guides/work-with-server-scripts/#api-routes
在此示例中,您必须同时传递表对象和用户对象 共享功能。这是因为共享脚本无法访问 全局表对象,而用户对象只存在于 请求的上下文。
最后我修改了函数:
exports.getActive = function (tbl) {...}