第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

等待 Ajax 請(qǐng)求繪制圖表

等待 Ajax 請(qǐng)求繪制圖表

蠱毒傳說(shuō) 2023-06-09 17:47:16
我遇到了 javascript 代碼的問(wèn)題。我正在嘗試動(dòng)態(tài)圖表,它將在使用 plotly.reshape 函數(shù)更改選擇字段時(shí)更新。我在 chart() 函數(shù)中調(diào)用基于 Ajax 請(qǐng)求的函數(shù),我希望它等待變量分配,然后繪制圖表。我想我在錯(cuò)誤的地方使用了 async/await。你們能幫幫我嗎?這是我的第一個(gè) js 腳本,但我在項(xiàng)目中需要它。function chart(){  var x = Chart();  var X =x[0];  var Close=x[1];  var High=x[2];  var Low=x[3];  var Open=x[4];  console.log(X);  var trace1 = {    x: X,     close: Close,     decreasing: {line: {color: '#7F7F7F'}},     high: High,    increasing: {line: {color: '#17BECF'}},     line: {color: 'rgba(31,119,180,1)'},     low:  Low,     open: Open,     type: 'ohlc',     xaxis: 'x',     yaxis: 'y'  };  var data = [trace1];  var layout = {    ...  };    Plotly.newPlot('chart', data, layout);  } function Chart(){  var data, date = [], price = [], open=[], Timestamp=[], High=[], Low = [];  let selectedItem = document.getElementById('currency-selector').value;  var url = `http://127.0.0.1:8000/${selectedItem}/`;   var x = new Array()  var requestURL = url; //URL of the JSON data  var request = new XMLHttpRequest({mozSystem: true}); // create http request    request.onreadystatechange = async function() {   if(request.readyState == 4 && request.status == 200) {            data = JSON.parse(request.responseText);            for (var i=0; i<data.length;i++) {          date.push(data[i].date)          price.push(data[i].close);          High.push(data[i].high);          open.push(data[i].Open);          Low.push(data[i].low);                }            //chart(date,price,High,Low,open);       }    await request.open('GET', requestURL, true);  request.send(); // send the request  }  return [date,price,High,Low,open];  }
查看完整描述

1 回答

?
qq_花開(kāi)花謝_0

TA貢獻(xiàn)1835條經(jīng)驗(yàn) 獲得超7個(gè)贊

由于設(shè)置的原因,我無(wú)法對(duì)此進(jìn)行測(cè)試,但這應(yīng)該可以工作……并按照您期望的順序返回東西。


這是使用 fetch api,它通常比 xmlhttp 請(qǐng)求 api 干凈得多。


但是你知道,async 是包含 await 的函數(shù)的標(biāo)簽。.then() 是如何在這樣的回調(diào)中排序的……等待的值將在返回等待的值之前首先執(zhí)行。


 async function Chart(){


  let date = [], price = [], open=[], Timestamp=[], High=[], Low = [];

  let selectedItem = document.getElementById('currency-selector').value;

  let url = `http://127.0.0.1:8000/${selectedItem}/`; 

  let requestURL = url; //URL of the JSON data

    return await fetch(requestURL)

    .then(res=>res.json())

    .then(data=>{

       data.forEach(x=>{

         date.push(x.date)

         price.push(x.close);

         High.push(x.high);

         open.push(x.Open);

         Low.push(x.low);

      })

   })

   .then(()=>{

      return [date,price,High,Low,open];

    })

 }


查看完整回答
反對(duì) 回復(fù) 2023-06-09
  • 1 回答
  • 0 關(guān)注
  • 174 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)