我对API的了解很少,这是我第一次创建游戏。我正在创建一个游戏,我需要选择随机用户才能赢得游戏。当前,我有一个API,允许我检索可以检索的当前登录用户的详细信息。但是,我不知道如何随机选择用户来赢得游戏。
我在下面尝试了此代码,但出现错误提示
'ERROR错误:未捕获(承诺):TypeError:无法读取未定义的属性'length'
这是我的代码:
提供商
getStaff(){
return this.http.get<StaffRecords>(`${this.staffApiUrl}//some api
{headers: new HttpHeaders().set('X-XSRF-TOKEN', this.getCookie('XSRF-TOKEN'))});
}
页面的.ts文件
constructor(public navCtrl: NavController, private alertCtrl: AlertController, private christmasProvider: ChristmasProvider) {
this.christmasProvider.getStaff().pipe(
map((staffResult: StaffRecords) => staffResult && staffResult.records)
).subscribe(staffed => {
if (staffed){
this.staff = staffed;
let randomStaff = Math.floor(Math.random() * this.staff.length);
this.staff = [this.staff[randomStaff]];
console.log(this.staff);
}
});}
如果我不使用Math.random()函数,我将能够像这样检索记录:
我也无法随机选择要赢的用户。谁能告诉我我做错了什么?