簡體   English   中英

將事件監聽器添加到數組索引

[英]Add Event Listener to Array index

我有一個數組,由D3在頁面加載時填充。 我想在另一個時間訪問相同的數組,但是我仍然需要確認它已被加載。

我不知道執行此操作的正確方法,所以我只猜了幾次,就不斷收到“不是函數”錯誤

第一個代碼(填充我的svg,當前值的快照)

d3.tsv("file.txt").then( function(data) { Loaded_Data[1]=data; document.getElementById("valve1").innerHTML = data[data.length-1]['OnOff']; //etc 
 });

很久以后,但仍處於異步的相關時間范圍內,我想對這些數據進行一些d3繪圖,但我想確保數組中有數據。

以后的代碼(填充圖形,數周的數據)

Loaded_Data[1].addEventListener('load', () => {console.log("success"); //d3.graphing; });

我基本上想要一個:while(array [1] is undefined){ }完成后=>圖形;

還是將整個文檔集再次加載到另一個d3.tsv()。then()會更容易? 重新加載整個數據似乎浪費資源。 造成這一困難的是我必須加載的源數量,將數據整合到一個陣列中(希望)更加方便。

讀取數據后,只需在then調用中繪制圖形即可:

  d3.tsv("file.txt")
    .then(data => graph(data)); //data is available to be used at this point

同樣,如果我正確地閱讀了此內容,則說明您正在偵聽要使用load事件填充的數組,但這僅在加載整個頁面並且與填充數據結構無關時才觸發。 如果除了制圖之外還需要將數據存儲在其他位置,則可以將以上內容修改為:

  d3.tsv("file.txt")
    .then(data => {
      graph(data);
      myArray = data;
    });

暫無
暫無

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

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