背景 = 我正在逐渐理解Parse的云代码功能,但我需要一些帮助,想请那些愿意回答一些关于示例云代码函数中发生了什么的简短、相对简单的问题的人提供帮助。
以下是我在本例中使用的代码:
1)云代码
Parse.Cloud.define('editUser', function(request, response) {
var userId = request.params.userId,
newColText = request.params.newColText;
var User = Parse.Object.extend('_User'),
user = new User({ objectId: userId });
user.set('new_col', newColText);
Parse.Cloud.useMasterKey();
user.save().then(function(user) {
response.success(user);
}, function(error) {
response.error(error)
});
});
2) iOS调用
[PFCloud callFunction:@"editUser" withParameters:@{
@"userId": @"someuseridhere",
@"newColText": @"new text!"
}];
这段代码来自这里。
问题1=
(request, response)
我对这是什么感到困惑。这是否类似于iOS中的类型转换,我在iOS调用中说我要将NSString传递到这个函数中("userId"),在云代码函数内部我会将其称为"request"? 这就是正在发生的事情吗? 问题2 =
Parse.Object.extend('_User')
这是从 Parse 数据库获取“User”类,以便在下面的行中创建新的“user”,从而更新它的“PFObject”吗?
这就像一个...
PFObject *userObject = [PFObject objectWithClassName:@"User"]?
Question 3 =
user.set('new_col', newColText)
这显然是将值“设置”为要保存到PFUser(~我想)的值。我知道“newColText”变量是要设置的文本,但“new_col”是什么?我唯一能想到的就是这将在通过“request”传递的任何类型的数据库中设置一个新列的名称。 这类似于...
[[PFUser currentUser] setObject: forKey:]
Question 4 =
Parse.Cloud.useMasterKey()
不用过于技术性地讲解,这基本上是我在编辑另一个用户的“用户”对象之前需要输入的全部内容吗?
问题5 =
user.save().then(function(user) {
response.success(user);
}
这是一种类似于...的技术吗?
[user saveInBackgroundWithBlock:]?
如果是这样,那么,
function(error) {
response.error(error)
只是设置当saveInBackgroundWithBlock出现错误时会发生什么?
请记住,我了解iOS - 不是JavaScript。因此,请尽可能详细地描述给那些了解苹果领域的人。