gpt4 book ai didi

javascript - 将对象和函数传递给 javascript 类并返回 onSuccess 和 onError

转载 作者:行者123 更新时间:2023-12-04 07:25:38 24 4
gpt4 key购买 nike

我尝试定义一个 javascript 类,它将接收一个对象作为参数和一些自定义回调函数,如 onSucessonError并使用这些函数向用户返回响应。
这是我迄今为止尝试过的

class User {

constructor(param) {
this.param = param;
}

static create(param) {
return new User(param);
}

onSuccess() {

}

onError() {

}

showForm() {

}
}
这就是我想要调用类的方式
let user = User.create({
name: 'name_here',
email: 'user@email.com',
age: 37,
onSuccess: (response) => {

},
onError: (error) => {

}
})
user.showForm()
我现在的问题是如何调用这样的 User 类
let user = User.create({
name: 'name_here',
email: 'user@email.com',
age: 37,
onSuccess: (response) => {

},
onError: (error) => {

}
})
user.showForm()
虽然这可能不是定义类及其函数的正确方法,但这是我希望类被调用的方式。
我将不胜感激任何更正或建议。
谢谢。
想象一下这个类是这样的:
class User {
constructor(param) {
Object.assign(this, param);
}

static create(param) {
return new User(param);
}

}
我想像这样调用 User 类:
let user = User.create({
name: 'name_here',
email: 'user@email.com',
age: 37,
onSuccess: (response) => {
alert("onSuccess");
},
onError: (error) => {
alert("error");
}
})

最佳答案

通过onSuccess , 和 onError在参数中作为回调,如下所示:

class User {
constructor(param) {
this.param = param;
}

static create({onSuccess, onError, ...param}) {
try {
const newUser = new User(param);
onSuccess(newUser);
} catch (e) {
onError(e)
}
}

showForm() {}
}

let user = User.create({
name: 'name_here',
email: 'user@email.com',
age: 37,
onSuccess: (response) => {
console.log("Success!");
},
onError: (error) => {
console.log("Error!");
}
})

关于javascript - 将对象和函数传递给 javascript 类并返回 onSuccess 和 onError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68233564/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com