攻城狮们好,

有个关于JS-SDK的问题。我在前端用AngularJS写的App。file储存成功后(后台也能看到),想将它加入另一个object的array中,可是出现了以下问题:
Circular Dependency,或者说存储好的file无法json化,所以无法加入Array。
想问下js sdk能否将av.file的instance加入array呢?
谢谢

相关代码:

        newFile.save().then(function () {
            $scope.$apply(function () {
                $modalInstance.close(newFile);
            });
        }, function (error) {
            $scope.$apply(function () {

            });
        });

        imageModal.result.then(function (file) {
            if (file != undefined) {
                product.addUnique("imageArray", file);
            }
        });

错误如下:

PS: 考虑到可能是AV.File无法stringify 或toJSON()的问题,所以也做了以下尝试:

        imageModal.result.then(function (file) {
            if (file != undefined) {
                var newFile = new AV.Object("_File");
                newFile.id = file.id;
                product.addUnique("imageArray", newFile);
            }
        });

如此一来能够成功加入Array,并且储存成功(无circular dependency错误),并且重新读取时,读取成AV.File成功。
但是这样上传文件完成的时候我无法立即使用这个file:比如,我想上传后直接显示预览图,url()这个method AV.Object就没有。

请问该如何破?
谢谢

确实,SDK 中应该增加 toJSON 之类的方法。

newFile.save().then(function(result){console.log(resut)})//这里打印 result 看下返回的相关数据,包括了file信息。