Javascript 递归承诺中的随机值总是相同的

Javascript 递归承诺中的随机值总是相同的,javascript,recursion,promise,Javascript,Recursion,Promise,您好,我正在尝试使用promise中的递归函数调用函数“tryToGetData”,这样它就可以传递另一个不同的随机值,以便继续尝试获得“成功”响应,至少,直到计数器设置为5,如果不只是打印“无法加载HTML” 但问题是,一旦我得到了随机值,不管我调用函数多少次来检索另一个随机值,它看起来总是和你在下面看到的相同的值 首先,这是我的代码: var a=['unsuccessful','success']; var randomValue=a[Math.floor(a.length*Math.r

您好,我正在尝试使用promise中的递归函数调用函数“tryToGetData”,这样它就可以传递另一个不同的随机值,以便继续尝试获得“成功”响应,至少,直到计数器设置为5,如果不只是打印“无法加载HTML”

但问题是,一旦我得到了随机值,不管我调用函数多少次来检索另一个随机值,它看起来总是和你在下面看到的相同的值

首先,这是我的代码:

var a=['unsuccessful','success'];
var randomValue=a[Math.floor(a.length*Math.random())];
设statuscounter=0;
承诺。解决(随机值)
。然后((值)=>{
console.log(值)
返回值
})
.然后(函数tryToGetData(状态){
如果(状态!=“成功”&&statuscounter 5){
log('无法加载HTML');
返回false;
}否则{
log('HTML已加载,等待加载资源');
}
})

.catch(错误=>拒绝(错误))请格式化您的代码,使缩进级别清晰。“无论我调用函数多少次来检索另一个随机值”-您永远不会更改
randomValue
O.oEdited的值。好的@Andreas,我怎么能改变它?它应该是随机的,对吗?在调用
tryToGetData(randomValue)
This
a[Math.floor(a.length*Math.random())之前,从
a
获取一个新值不会在每次引用分配给它的变量时给你一个新的随机数