Block Scope Problem
bearbeitet von Student2015Hi Leute,
ich hab folgende JavaScript Funktion, und möchte dass mein Array result, dass beim ersten console.log noch sauber mit Daten versorgt wird, diese Daten beim weiten console.log noch hat. Wie mache ich das?
~~~javascript
function getData() {
var result = new Array();
var url = "http://query.yahooapis.com/v1/public/yql";
var symbol = 'AAPL';//$("#symbol").val();
var dateInput1 = '2015-01-01';
var dateInput2 = '2015-05-01';
var data = encodeURIComponent("select * from yahoo.finance.historicaldata where symbol = 'YHOO' and startDate = '2009-09-11' and endDate = '2010-03-10'");
$.getJSON(url, 'q=' + data + "&format=json&diagnostics=true&env=http://datatables.org/alltables.env")
.done(function (data) {
for(var i = 0; i < data.query.results.quote.length; i++) {
//console.log(data.query.results.quote.length)
//console.log(data.query.results.quote[i].Close);
result[i] = data.query.results.quote[i];
console.log(result);
}
$("#result").text("Bid Price: " + data.query.results.quote.LastTradePriceOnly);
})
.fail(function (jqxhr, textStatus, error) {
var err = textStatus + ", " + error;
$("#result").text('Request failed: ' + err);
});
console.log("result",result);
return result;
}
~~~