(使用Google Traductor翻译) 嗨,我正在学习javascript,而我正试图模拟yahoo finance页面上股票报价中发生的变化。
我正在阅读stackoverflow页面的许多回复,我这样做了。
http://js.do/code/53880 如果您使用的是谷歌浏览器,大约一分钟后就会出现控制台错误。 控制-Shift -J(控制台选项卡/错误)
错误: net :: ERR_INSUFFICIENT_RESOURCESjquery-1.9.1.js:8336 sendjquery-1.9.1.js:7978 jQuery.extend.ajaxVM8678:12 update
页面也滞后
$(function(){
$(function() {
setInterval(update, 0);
});
function update() {
var query = "select * from yahoo.finance.quotes where symbol = ";
var symbolo = "'AAPL'";
var yql = "http://query.yahooapis.com/v1/public/yql?q=" + escape(query+symbolo) + "&format=json&diagnostics=true&env=store://datatables.org/alltableswithkeys&callback=?";
var xhr2 = $.ajax({
url: yql,
jsonp: "myCallback",
dataType: 'jsonp',
success: function(data) {
var keys = data.query.results.quote;
$("#a").html(keys.LastTradePriceOnly);
},
error: function (xhr, ajaxOptions, thrownError) {
alert("oth1"+xhr.statusText);
alert("oth2"+xhr.responseText);
alert("oth3"+xhr.status);
alert("oth4"+thrownError);
}
});
}
});
答案 0 :(得分:0)
setInterval(update, 0);
您尽可能快地生成Ajax请求。然后你的资源耗尽(可能在处理第一个请求之前)。
运行update
函数一次,然后从setTimeout
和{{1}内再次调用它(最好以success
为基础的延迟)功能。