javascript – 解析iOS SDK:了解云代码

前端之家收集整理的这篇文章主要介绍了javascript – 解析iOS SDK:了解云代码前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
场景=我慢慢地,但肯定地围绕着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!"

}];

代码取自here

问题1 =

(request,response)

我对这是什么感到困惑这就像在iOS中的类型转换(在iOS调用中),我想将NSString传递给这个函数(“userId”),而在云代码函数里面我会称之为“请求”?这是怎么回事?

问题2 =

Parse.Object.extend('_User')

这是从Parse数据库获取“User”类,以便可以通过在下面的行中创建一个新的“用户”来更新它的“PFObject”?

这是一个…

PFObject *userObject = [PFObject objectWithClassName:@"User"]?

问题3 =

user.set('new_col',newColText)

这显然会将值保存到PFUser中(〜我认为).我知道“newColText”变量是要设置的文本,但是什么是“new_col”?只有我能想到的是,它将数据库中的一个新列的名称设置为通过“请求”传递的任何类型的数据库

这是一个…

[[PFUser currentUser] setObject: forKey:]

问题4 =

Parse.Cloud.useMasterKey()

没有太技术,这是基本上我必须输入,我可以从另一个用户编辑一个“用户”对象?

问题5 =

user.save().then(function(user) {
        response.success(user);
    }

这是一个…

[user saveInBackgroundWithBlock:]?

如果是的话,是的

function(error) {
        response.error(error)

只要设置saveInBackgroundWithBlock有错误就会发生什么?

请记住,我知道iOS – 不是JavaScript.所以尽可能地描述一些了解苹果领域的人.

解决方法

这是我的问题:

>请求参数用于访问作为对云功能的请求/调用的一部分的所有内容,包括传递的参数(request.params),客户端(request.user)上验证的用户以及其他一些您可以在documentation中了解的内容.响应是为了将信息发回调用代码,您通常使用可选的字符串/对象/ etc调用response.success()或response.error()回应,再次documentation here.
>这是创建一个用户实例的一种方法,因为它是一个特殊的内部类,它被命名为_User,而与_Role和_Installation相同.它正在创建具有ID的用户的实例,而不创建新的(在保存之前不会有ID).当您以这种方式创建对象时,您可以通过更改要更新的属性“修补”它.
>再次看一下documentationan example,第一个参数是列名(如果不存在就会被创建),第二个值就是你想要的列设置.
>当您需要执行用户登录到客户端的权限时,您必须执行Parse.Cloud.useMasterKey().这意味着“忽略所有的安全,我知道我在做什么”.
>你看到一个承诺链,链中的每一步都允许你传递一个“成功”处理程序和一个可选的“错误”处理程序.有一些很棒的documentation.当你想要按顺序做几件事情时,这是非常方便的.

示例代码

var post = new Parse.Object('Post');
var comment = new Parse.Object('Comment');
// assume we set a bunch of properties on the post and comment here
post.save().then(function() {
    // we know the post is saved,so now we can reference it from our comment
    comment.set('post',post);
    // return the comment save promise,so we can keep chaining
    return comment.save();
}).then(function() {
    // success!
    response.success();
},function(error) {
    // uh oh!
    // this catches errors anywhere in the chain
    response.error(error);
});

猜你在找的JavaScript相关文章