要求先运行完成pbynumbers: this.data.marks.length,再去运行this.goOn();
时间: 2024-05-21 10:13:45 浏览: 165
好的,我明白了。这是因为在运行 `this.goOn()` 之前,需要确保 `this.data.marks` 数组已经被正确地初始化并且 `length` 属性已经被计算。如果不先计算 `this.data.marks.length`,在后续代码中可能会出现错误。因此,需要先确保数组已经被正确地初始化之后才能调用 `this.goOn()` 方法。
相关问题
this.setData({ pbynumbers: this.data.marks.length }).then(res => { this.goOn() })帮我优化这段代码
这段代码可以使用 async/await 来优化,可以这样写:
```
async updateData() {
await this.setData({
pbynumbers: this.data.marks.length
});
this.goOn();
}
```
然后在需要执行的地方调用 `updateData` 方法即可。这样可以让代码更加简洁易读。
goOns: function() { this.setData({ pbynumbers: this.data.marks.length }).then(res => { this.goOn() }) },帮我优化这个函数
这个函数中的setData方法可以使用Promise封装来避免回调地狱,同时可以使用async/await语法来使代码更加简洁易懂。
优化后的代码如下:
```
goOns: async function() {
const res = await this.setData({
pbynumbers: this.data.marks.length
});
this.goOn();
}
```
这样我们就可以避免回调地狱,将代码结构更加清晰易读。
阅读全文