【发布时间】:2019-08-14 08:17:23
【问题描述】:
我有以下两个类:
class AcceptCommand extends Command {
init(client, db) {
super.init(client, db);
}
async hasPermission() {
}
async run() {
if (this.hasPermission()) {
}
}
}
和
export class Command {
init(client, db) {
this.client = client;
this.db = db;
}
setTrigger(trigger) {
this.trigger = trigger;
}
getTrigger() {
return this.trigger;
}
async hasPermission() {
}
async run() {
if (this.hasPermission()) {
}
}
}
我希望在 run() 函数运行时首先检查用户是否有权限 (this.hasPermission())。
在父类Command我做:
async hasPermission() {
}
async run() {
if (this.hasPermission()) {
}
}
有没有办法让它也适用于所有子类,而不必在每个子类中都做同样的事情?
【问题讨论】:
-
请注意,鉴于
hasPermission是async方法,您将要使用if (await this.hasPermission())
标签: javascript node.js oop ecmascript-6 es6-class