我的移动应用程序中有以下的Typescript类及其点击功能,该功能由按钮点击触发。感兴趣的是todoItemTable.read
,它从我的云后端获取并获取ToDoItems数组。当前代码工作并吐出8个待办事项的文本,但我想将文本存储在一个数组中,所以如果你看到我推入todos
的注释掉的行,那就是我以为我是怎么回事提出这个问题。但是,这行代码会使循环运行,因此我将第一个ToDo项记录两次,然后没有其他任何内容。应用程序不挂起,没有错误。
export class HelloWorldModel extends Observable {
public todos: any[];
constructor() {
super();
}
Click() {
var client = new MobileServiceClient("https://example.azurewebsites.net");
console.log("CLIENT");
var todoItemTable = client.getTable("TodoItem");
console.log("Table");
this.todos = [];
todoItemTable.read<TodoItem>().then(function (results) {
// results is array of TodoItem-s
console.log(results.length);
console.log(results[0].text);
for (let i of results) {
console.log(i.text);
//this.todos.push(i.text);
}
});
}
}
出了什么问题?
答案 0 :(得分:4)
答案 1 :(得分:0)
我遇到了同样的问题,每当我尝试在array.push()
的任何地方使用loop
时,它会经历一次,然后停止。我通过将数组实例化为空数组(array: string[ ] = [ ]
)我的loop
的OUTSIDE来修复此问题。然后实例化新的字符串以推送到循环中的数组。
希望这能帮助那里的任何人=)