[英]Javascript One after another method call
我想對__NodeJS Rest API__
進行JavaScript驗證,但是我的問題是;
驗證者類別
class Checks {
constructor() {
}
object(field) {
return field;
}
keys(field) {
if(typeof field === "string") {
return true;
}
return false;
}
}
module.exports = Validator;
我想用
Validator.validate(field).string()
但錯誤代碼:
您可以將field分配為當前實例的屬性,然后為鏈接方法返回this
。
class Validator {
constructor() {
this.field = null;
}
validate(field) {
this.field = field;
return this;
}
string(field) {
return typeof this.field === "string";
}
}
module.exports = Validator;
//usage
const Validator = require('path/to/Validator');
new Validator().validate(field).string();
您可以像這樣更改
class Validator {
constructor() {
}
validate(field) {
if(typeof field === "string") {
return true;
}
return false;
}
}
module.exports = Validator;
打個電話,
Validator.validate(field)
或者只是將validate函數更改為
validate() {
return this;
}
然后這樣稱呼它,
Validator.validate().string(field)
//validator-factory.js
class ValidatorFactory {
static validate(field) {
return new Validator(field);
}
}
class Validator {
constructor(field) {
this.field = field;
}
string() {
if(typeof this.field === "string") {
return true;
}
return false;
}
}
module.exports = ValidatorFactory;
然后,導入ValidatorFactory
並按以下方式使用
var ValidatorFactory = require('./validator-factory');
ValidatorFactory.validate(field).string();
請注意,在ValidatorFactory
使用static
關鍵字,並且validate
每次都會返回Validator
類的新實例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.