通过Cloud Code获取图像

时间:2014-08-28 23:47:37

标签: parse-platform cloud-code

我已经在这上面搔了一会儿。我究竟做错了什么?非常感谢您的帮助:)

我尝试了很多不同的图片代码,但我认为这是我所看到的承诺问题。使用下面的代码,我只看到"循环开始"日志消息。 如果我将结果推送到promise结构之外,那么我会看到Stage日志消息,虽然在打开所有循环开始之后(因此我将推送放在then函数中)。

Parse.Cloud.job("fetchjson", function(request, status) {

var url = 'some json url';

Parse.Cloud.httpRequest({url: url}).then(function(httpResponse){
    //var Image = require("parse-image");
    var Seeds = Parse.Object.extend("Seeds");
    var jsonobj = JSON.parse(httpResponse.text);

    var results = [];
    // do NOT iterate arrays with `for... in loops`
    for(var i = 0; i < jsonobj.seeds.length; i++){
        var seed = new Seed();
        var a = new Seed(jsonobj.seeds[i]);
        console.log("Start of loop");

        Parse.Cloud.httpRequest({url: a.get("image") }).then(function(response) {
          console.log("Stage 1");
          //var file = new Parse.File('thumb.jpg', { base64: response.buffer.toString('base64', 0, response.buffer.length) });
          //return file.save();
          return "hi"
        }).then(function(thumb) {
          console.log("Stage 2");
          //a.set("imageFile", thumb);  
          //a.set("viewsInt", parseInt(a.get("views")));
        }, function(error) {
          console.log("Error occurred :(");
        }).then(function(){
          results.push(seed.save(a)); // add to aggregate
        });

    }
    // .when waits for all promises
    Parse.Promise.when(results).then(function(data){
        status.success("All saved");
    });


  }, function(error) {
    console.error('Request failed with response code ' + httpResponse.status);
    status.error("Failed");
});
});

0 个答案:

没有答案