如何在云函数中初始化ParseObject?

问题描述

我想根据我从ParSEObject获取的缓存数据生成Redis的列表。这是我在做什么:

function parseHashtagsResponse(cachedobjects) {
    var hashtags = [];

    for (const object of cachedobjects) {
        const Hashtag = Parse.Object.extend("Hashtag");
        const hashtag = new Hashtag();

        for (var key in object) {
            if (object.hasOwnProperty(key)) {
                hashtag.set(key,object[key]);
            }
        }

        hashtags.push(hashtag);
    }

    return hashtags;
}

cachedobjects一个字典数组,其中包含以下数据: 缓存的ParSEObject

这是我在客户端上执行的操作,以获取上面处理的数据:

PFCloud.callFunction(inBackground: "getHashtagsFunctionV3",withParameters: nil) { (response,error) in
    if error == nil,let hashtagsArray = response as? [PFObject] {
        self.hashtagsArray.append(contentsOf: hashtagsArray)
    }
}

当我收到回复时,我得到了:

表达式产生的错误错误: /var/folders/1h/vqb7yf6n14d52q7zdmgbx3lr0000gn/T/expr30-d84d97..swift:1:83: 错误:“ PFObject”不是“解析”的成员类型 Swift._DebuggerSupport.stringForPrintObject(Swift.UnsafePointer >(bitPattern: 0x11e0e08f0)!. pointee)

如果我打印返回数组的元素,我会得到:

{}

我想念什么?

解决方法

结果是Parse.Object类的静态函数称为fromJSON。它所做的正是我所需要的...它基于JSON的数据构造一个ParseObject

这是更新的功能:

function parseResponse(cachedObjects,className) {
    var hashtags = [];

    for (var object of cachedObjects) {
        object.className = className;
        hashtags.push(Parse.Object.fromJSON(object));
    }

    return hashtags;
}