javascript - HttpRequest 使用来自数组 Parse.com Cloudcode 的多个 URL

标签 javascript swift parse-platform

如何使用数组中的 url 字符串处理多个 httpRequest?以下是我迄今为止尝试过的方法,但每次我尝试部署要解析的代码时都会收到错误消息。

     Parse.Cloud.define("FetchData", function(request, response) {
                           Parse.Cloud.useMasterKey();
                           var urls = ["url1", "url2"]

                           return Parse.Cloud.httpRequest({
                            //For loop below FAILS**
                             for (i = 1; i < 8; i++) {
                            url: urls[i]
                            },

               }).then(function(httpResponse) {
         //Handle Json here                                
response.success("Success"); 
    },
       function (error) {

response.error("Error: " + error.code + " " + error.message);
        });
     });

最佳答案

Cloud.httpRequest 返回发出请求的 promise 。在一个循环中调用它,收集这些 promise ,然后使用 Promise.when() 创建一个新的 promise ,当所有的 http 请求 promise 都得到满足时,它就会得到满足:

var _ = require("underscore"); //so we can map over an array
var urls = ["url1", "url2", "url3"];

Parse.Cloud.define("FetchData", function(request, response) {
    var promises = _.map(urls, function(url) {
        return Parse.Cloud.httpRequest({ url:url });
    });
    Parse.Promise.when(promises).then(function() {
        response.success(_.toArray(arguments)); 
    }, function (error) {
        response.error("Error: " + error.code + " " + error.message);
    });
});

关于javascript - HttpRequest 使用来自数组 Parse.com Cloudcode 的多个 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34368529/

相关文章:

ios - Swift 2.0 解析 PFFile/Image

ios - 解析loginWithUsernameInBackground block 回调不起作用

javascript - 过滤单选元素

javascript - Meteor SimpleSchema + 方法 : clicking too fast throw an error

Javascript - Math.random 作为参数

javascript - 使用 .data() 从附加到它的函数中引用元素?

ios - ARKIT 2.0 - ARImageTrackingConfiguration

ios - SwiftUI 将按钮点击发送到 subview

ipad - 装有 iOS 8 的 iPad 中的方向问题

android - 在两个 Android 应用程序安装之间进行通信的最有效方法