gpt4 book ai didi

JavaScript 和云代码函数,共享相同的 var

转载 作者:太空宇宙 更新时间:2023-11-04 01:05:39 24 4
gpt4 key购买 nike

我使用 parse.com 作为我的 iOS 应用程序的后端服务。我试图在 objective-c 中完成所有操作,因为我没有任何 JavaScript 经验,但事实证明我需要开发一些云代码函数JavaScript 中完成我的应用

我正在尝试创建一个简单的例程:

  1. 用户使用云函数检索对象。
  2. 用户将另一个对象保存在不同的类中。
  3. afterSave函数在云端运行以更新首次检索的对象。

现在,这是我的代码:

var UserConfigOrientador = Parse.Object.extend("UserConfigOrientador");
var query = new Parse.Query(UserConfigOrientador);

Parse.Cloud.define('pegarOrientadorLivre', function(request, response) {
Parse.Cloud.useMasterKey();
query.greaterThan("entrevistasDisponibilidade", 0);
query.first({
success: function(results) {
response.success(results);
query = results;
},
error: function(error) {
response.error('Favor, checar rede e tentar novamente.');
}
});
});

// AfterSave
Parse.Cloud.afterSave("Agenda", function(request) {
Parse.Cloud.useMasterKey();
query.set("entrevistasDisponibilidade", 70);
query.save();
}
});
});

现在,第二个函数不起作用,我收到消息说 Object 没有 set 方法。

基本上,我的问题是:

如何在函数之间共享数据?我应该将所有内容保留在 main.js 中还是可以使用其他文件?

我正在使用 webStorm 进行开发。关于 main.js 的问题是,一段时间后我将拥有很多函数,并且我正在尝试弄清楚如何组织我的代码。

最佳答案

您的问题是范围之一,以及您出于多种目的而重复使用的命名不当的变量。

您将 query 变量定义为查询,并使用它,但在 success 处理程序中将其设置为查询的结果(您现在有一个名为 query 的变量,它实际上是 UserConfigOrientador 类的实例)。

当该 Cloud Code 完成运行时,结果超出范围,并且很可能设置为 未定义。您不应该像这样尝试在多个 Cloud Code 方法之间共享变量。

Agenda 对象上是否有某些内容可以让您知道要更新哪个 UserConfigOrientador?也许您可以向 UserConfigOrientador 添加一个指针属性?如果您这样做了,那么您可以使用以下内容:

// AfterSave
Parse.Cloud.afterSave("Agenda", function(request) {
Parse.Cloud.useMasterKey();
var userConfigOrientadorQuery = new Parse.Query("UserConfigOrientador");
// read "userConfigOrientador" pointer property on "Agenda" object
var userConfigId = request.object.get("userConfigOrientador").id;
userConfigOrientadorQuery.get(userConfigId, {
success: function(userConfigOrientador) {
userConfigOrientador.set("entrevistasDisponibilidade", 70);
userConfigOrientador.save();
}
});
});

关于JavaScript 和云代码函数,共享相同的 var,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23293668/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com