这似乎很奇怪,但是我正在尝试尽可能多地刷新API,直到response.data
值达到一定数量为止。这是我的下面的代码
const axios = require('axios');
const api = require('./api.json');
const infinity = 0;
let url = 'http://api.site.com/api.php?i=${api[item].appid}';
function api_call(item){
axios.get(url)
.then(response => {
let id = response.data.id;
if (id > 10){
return true;
}else{
return false;
}
})
.catch(error => {
console.log(error);
});
}
function loop(variable) {
while (infinity < 1) {
if (api_call(variable) > true) {
break;
console.log('Found');
}
console.log('-');
}
}
这似乎很奇怪,但是很显然,我已经对其进行了修改,尽管该代码仍然可以实现与我要用代码完成的目标相似的目标。基本上,它监视API,直到值更改触发操作为止。可能是我做错了,但是当我运行这段代码时(只有更改是API和值名称),我开始使用大量内存,直到程序停止并给我这个错误
<--- Last few GCs --->
[11524:000001E5724778C0] 93390 ms: Mark-sweep 1395.2 (1426.2) -> 1394.5 (1425.7) MB, 629.4 / 0.0 ms (average mu = 0.139, current mu = 0.053) allocation failure scavenge might not succeed
[11524:000001E5724778C0] 94039 ms: Mark-sweep 1395.4 (1425.7) -> 1394.8 (1426.2) MB, 638.3 / 0.0 ms (average mu = 0.079, current mu = 0.016) allocation failure scavenge might not succeed
<--- JS stacktrace --->
还有更多信息(如果需要的话,我可以编辑该帖子并将其包含在内),我相信这是由于我如何收集数据而引起的,也许我忘记了某些过程,我不确定并且找不到与此相关的任何类似主题。在此先感谢您的帮助。如果需要更多信息,请问我会添加更多。
答案 0 :(得分:0)
我在附近玩了一点,这就是我最终开始工作的原因。
const axios = require('axios');
const api = require('./api.json');
const infinity = 0;
function api_call(item) {
let url = `http://api.site.com/api.php?i=${api[item].appid}`;
axios.get(url)
.then(response => {
let id = response.data.id;
if (id > 10){
return true;
}else{
return false;
}
})
.catch(error => {
console.log(error);
});
}
async function checkAPI(variable) {
const res = await api_call()
if (res) {
//success
} else {
//Fail
}
}
checkAPI();