簡體   English   中英

未捕獲的參考錯誤:未定義隊列

[英]Uncaught Reference Error: queue is not defined

我收到錯誤

未捕獲的參考錯誤:未定義隊列

但我不明白為什么會收到錯誤消息。 我正在嘗試使用D3繪制美國地圖,並且正在/正在使用本指南,但它與D3的最新版本並不完全匹配。 這是我的代碼/視頻中的代碼:

(function (){

var width = 400;
var height = 300;

var svg = d3.select('#d3mapUS')
        .append("svg")
        .attr("width", width)
        .attr("height", height);

var projection = d3.geoAlbersUsa()
        .scale(1280)
        .translate([width/2, height/2]),
    path = d3.geoPath()
        .projection(projection);

var stateIDMap = d3.map({

});

queue()
    .defer(d3.json, "us.json")
    .await(function (err, US) {
        var states = svg.append("g")
                .attr("class", "states")
                .selectAll("g")
                .data(topojson.feature(US, US.objects.states).features)
                .enter()
                .append("g");

        states.append("path")
                .attr("d", path);
    });
})();

隊列是圖書館的一部分嗎? 我假設如果您將其附加到html中,它將仍然有效。 確保在導入代碼之前。

但是,如果它不起作用,或者您擔心編譯器錯誤,可以執行以下操作:

(function (queue) {
....

})(queue);

當我想在我的妻子中使用jquery或window時,我這樣做。

如果您使用的是D3 v4.x,則正確的語法是d3.queue 因此,應為:

d3.queue()
    .defer(d3.json, "us.json")
    .await(function (err, US) {
        var states = svg.append("g")
            .attr("class", "states")
            .selectAll("g")
            .data(topojson.feature(US, US.objects.states).features)
            .enter()
            .append("g");

        states.append("path")
            .attr("d", path);
});

檢查API: https : //github.com/d3/d3-queue#queue

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM