0
我正在使用Azure移动服务。我有两个表,我试图做的是从TableA中获取一个列值,当我在TableB上运行插入时,通过检查它与来自TableB的列值匹配的位置。Azure移动服务器脚本 - 从另一个表中获取列值
我的刀片服务器脚本如下:
function insert(item, user, request) {
var TableA_Table = tables.getTable('TableA');
tableA_Table
.where({ columnValue: item.columnValue })
.read ({ success: setItemColumnValue });
request.execute();
function setItemColumnValue(result)
{
item.tableA_id = result.id;
}
}
我已经证实了我的tableA_Table.where命令从TableA的拉动正确的行,但是当我内输入的console.log(结果) setItemColumnValue函数,它打印未定义。
我发现的所有文档都显示类似于我的代码,但我无法弄清楚我要出错的地方。 任何帮助赞赏!
谢谢卡洛斯!我已经更新了我提到的代码,现在我直接访问数组成员的id值,现在我明白了回调函数的异步特性。我唯一剩下的问题是Azure抛出'错误:执行不能被调用多次',即使我的第二个request.execute在我的setItemColumnValue函数中,就像你已经布局的一样。有任何想法吗? – Naz 2013-05-01 13:54:27
对不起,我忘了在'read'调用之后删除对'request.execute()'的调用。由于在读回调时,所有的代码路径都会响应请求(通过调用'request.respond'或'request.execute'),原来的不再需要。我更新了答案中的代码。 – carlosfigueira 2013-05-01 14:26:31
再次感谢Carlos,非常感谢。 – Naz 2013-05-02 03:00:59