2 回答
TA贡献1824条经验 获得超8个赞
您需要将间隔保存到一个变量中,然后您可以在该变量clearInterval()上使用。
这是您要完成的任务的模型。
var array = [];
var maxLength = 3;
var delay = 250; //I shortened your delay
var ticker = {}; //I'll use this to simulate your ticker object
var looper = setInterval(function() {
ticker.BNBBTC = Math.random(); //populating your ticker property w/random value
if (array.length < maxLength) {
array.push(ticker.BNBBTC);
} else {
console.log("Stopping the looper.");
clearInterval(looper);
console.log("Here are the contents of array");
console.log(array);
}
}, delay);
TA贡献1784条经验 获得超8个赞
我不确定我是否理解你的目的,因为那里有很多注释代码,但如果你想运行一个函数三次并在一秒钟后以新价格再次运行它,或者......可能这段代码对你有帮助:
let array = [];
let eachEverySeconds = 1;
const loopArray = (array) => {
setTimeout(async () => {
if (array.length === 3) return;
let price = Math.random() * 10;
array.push(price);
await loopArray(array);
}, 1000 * eachEverySeconds);
console.log(array);
};
loopArray(array);
添加回答
举报