function - Accessing variable outside of scope (javascript) -


i trying access variable outside of scope of function. trying access price outside of function. have wait until request finishes, or not have access price?

        var httprequest = new xmlhttprequest();         httprequest.open('get', "https://api.iextrading.com/1.0/stock/aapl/quote", true);         httprequest.send();         httprequest.addeventlistener("readystatechange", processrequest, false);          function processrequest(e) {             if (httprequest.readystate == 4 && httprequest.status == 200) {                 response = json.parse(httprequest.responsetext);                 console.log(response.latestprice);                 var lastprice = response.latestprice;                 document.getelementbyid("stockprice").innerhtml = lastprice;                 price = lastprice;             }         }         document.write("outside: " + price); 

you don't have access price variable outside of function's scope. can instead return price, assign call function variable. example:

var price = processrequest(); 

however, call asynchronous, you'll either have make document.write call within function, or you'll have setup kind of promise or callback ensure document.write called once request complete (and price assigned value).

that might like:

function writetodoc (price) {   document.write("outside: " + price); }  function processrequest(e, cb) {   // request logic   if (httprequest.readystate == 4 && httprequest.status == 200) {     response = json.parse(httprequest.responsetext);     console.log(response.latestprice);     var lastprice = response.latestprice;     document.getelementbyid("stockprice").innerhtml = lastprice;     price = lastprice;     // call callback function     cb(price);   } }  httprequest.addeventlistener("readystatechange", processrequest.bind(this, writetodoc), false); 

Comments

Popular posts from this blog

angular - Ionic slides - dynamically add slides before and after -

minify - Minimizing css files -

Add a dynamic header in angular 2 http provider -