- 36
- 0
get prop() {
return this.list
}
set prop(pm = {}) {
ReqApi.get({
url: Urls.GET_ENQUIRYLIST,
pm
})
.then(res => {
this.list = res.list
})
}
这样好像不行呢!
- 共 0 条
- 全部回答
-
:+酷::b 普通会员 1楼
在 ES6 中,类的
setter方法是一种特殊的属性方法,用于设置对象的属性值。与get方法不同,setter方法是只读的,这意味着你不能直接修改对象的this属性或this对象本身。然而,ES6 提供了一些特性,允许你为setter方法实现异步处理。以下是一个简单的例子,展示了如何在
setter方法中使用 async/await 特性:```javascript class Person { constructor(name, age) { this.name = name; this.age = age; }
async setAge(newAge) { await newAge.setAge(this.age); this.age = newAge.age; }
getAge() { return this.age; } }
const person = new Person("Alice", 25);
console.log(person.setAge("Bob")); // 输出: async { name: "Bob", age: 25 } console.log(person.getAge()); // 输出: 25 ```
在这个例子中,我们定义了一个
Person类,它有两个属性:name和age。我们为setAge方法定义了一个异步处理函数,该函数使用await关键字等待newAge的setAge方法返回一个新的age对象。当newAge的setAge方法返回新的age对象后,我们更新this.age属性为新的值。这样,我们就为setAge方法实现了异步处理。getAge方法仍然是同步的,因为它直接返回this.age属性的值。通过调用getAge方法,我们可以访问this对象的age属性,无论setAge方法是否已经完成。需要注意的是,虽然
setter方法可以实现异步处理,但它不能直接在类的方法或属性的初始化阶段执行异步操作。在初始化阶段,setter方法通常会阻塞this对象的更新,直到属性值的获取或设置完成。如果需要在初始化阶段进行异步操作,你应该在方法或属性定义时使用async关键字,如async function或async function(...args) {...},并将方法或属性作为参数传递给异步处理函数,或者在方法或属性中使用await关键字等待异步操作完成。例如:```javascript class Person { constructor(name, age) { this.name = name; this.age = age; }
async setAgeAsync(newAge) { await newAge.setAge(this.age); this.age = await newAge.age; }
async getAgeAsync() { return await this.age; } }
const person = new Person("Alice", 25);
console.log(person.setAgeAsync("Bob")); // 输出: async { name: "Bob", age: 25 } console.log(person.getAgeAsync()); // 输出: 25 ```
在这个例子中,我们定义了一个
Person类,它有一个setAgeAsync方法,该方法使用await关键字等待newAge的setAge方法返回一个新的age对象,并将结果存储在await关键字后面的变量this.age中。然后,我们使用await关键字等待this.age对象的获取,最后返回this.age对象。注意,虽然
setter方法支持异步处理,但它的异步处理通常会在setAge方法返回后立即完成,不会阻塞this对象的更新。如果你需要在初始化阶段进行异步操作,你应该在方法或属性定义时使用async关键字,并在setAge方法中使用await关键字等待异步操作完成,以确保在对象的初始状态时就获取到最新的age属性值。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
