我有很多這樣的功能示例
function update() {
if (isAdminUser()) {
return false;
}
...
}
function get() {
if (isAdminUser()) {
return false;
}
...
}
...
有沒有可能的方法有條件陳述句
if (isAdminUser()) {
return false;
})
撰寫一次并在每個函式的開頭自行運行。我正在使用 javascript
uj5u.com熱心網友回復:
您可以使用高階函式來封裝在運行特定函式之前運行所需的邏輯。高階函式將函式作為引數,因此您的問題的可能解決方案如下所示:
function withIsAdminUser(callback) {
return function() {
if (isAdminUser()) {
return false;
}
return callback();
}
}
function getRaw() {
// Do something here, this whole function could also be inlined
}
const get = withIsAdminUser(getRaw);
uj5u.com熱心網友回復:
如果您使用 TypeScript,請嘗試使用裝飾器。
檔案:https ://www.typescriptlang.org/docs/handbook/decorators.html#decorators
uj5u.com熱心網友回復:
也許您可以定義一個函式,該函式可以接受另一個函式作為引數,如果該函式(即代碼片段中的 isAdminUser)回傳 true,則回傳 false
const checkUser = func => func() && false
那么該函式可以像這樣使用:
function update() {
if (checkUser(isAdminUser)) {
// update() logic will only run if user is not admin
}
}
function get() {
if (checkUser(isAdminUser)) {
// get() logic will only run if user is not admin
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/484903.html
標籤:javascript 功能
下一篇:寫一個Sigma方程
