相关疑难解决方法(0)

d3.js v5 - Promise.all取代了d3.queue

我现在一直在使用d3.js v4并且我已经了解到Mike Bostock已经用Promise本机JavaScript对象取代了v5版本中的d3.queue.我想和你联系,看看我写的代码是否正确排队(异步)这些URL:

var makeRequest = function() {
    "use strict";

    var bli = [
        "http://stats.oecd.org/sdmx-json/data/BLI2013/all/all",
        "http://stats.oecd.org/sdmx-json/data/BLI2014/all/all",
        "http://stats.oecd.org/sdmx-json/data/BLI2015/all/all",
        "http://stats.oecd.org/sdmx-json/data/BLI2016/all/all",
        "http://stats.oecd.org/sdmx-json/data/BLI/all/all"
    ];

    var promises = [];

    bli.forEach(function(url) {
        promises.push(
            new Promise(function(resolve, reject) {
                d3
                    .json(url)
                    .then(function(response) {
                        resolve(response);
                    })
                    .catch(function(error) {
                        console.log("Error on: " + url + ". Error: " + error);
                        reject(error);
                    });
            })
        );
    });

    Promise.all(promises).then(function(values) {
        console.log(values);
    });
};

makeRequest();
Run Code Online (Sandbox Code Playgroud)

代码似乎运行正常,但是,这是正确的代码还是有更好的方法(最佳实践方法)与Promise.all和d3.js排队?catch错误是否正确实现?

queue promise d3.js

12
推荐指数
1
解决办法
7113
查看次数

标签 统计

d3.js ×1

promise ×1

queue ×1