[Node.js] Introduction to apiCheck.js

本文介绍了一个使用Node.js实现的带参数的定时器函数timeoutLog,该函数通过外部传入的时间、对象及回调函数,在指定时间后输出日志并调用回调。此外,还展示了如何利用api-check模块来验证函数参数的有效性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

timeoutLog.js:

var apiCheckFactory = require('api-check');

var myCheck = apiCheckFactory();

module.exports = timeoutLog;

var api = [
  myCheck.number,
  myCheck.shape({
    name: myCheck.string
  }),
  myCheck.func.optional
];

function timeoutLog(time, person, callback) {
  myCheck.throw(api, arguments);

  setTimeout(function() {
    console.log('Time is up for ' + person.name + '!');
    callback && callback(person);
  }, time);
}

 

index.js:

// just giving me some space...
console.log('\n------\n');


var timeoutLog = require('./timeoutLog');

var person = {
  name: 'Jane'
};

timeoutLog(300, {name: 'Joe'}, function(thePerson) {
  console.log(
    'Person is the same? ' + (person === thePerson)
  );
});

 

Error message something like:

Error: apiCheck failed! `Argument 1` passed, `value` at `Argument 2` must be `String`

You passed:
[
  "wHY+jgNSE0HaoLsMgqkF4uGBX33bf6orJcLVGD0MdFx+tPoPnoJ9EreqOxuUixXoEOI2nGwJb8sXFAyrnXSjMpD98OVj0wg2menNJ65LzEtw3YYBsBZ4yzRtI6PD13zUy+R3S7WIhcWI30V+jZShvP5J2rm4=",
  true
]

With the types:
[
  "string",
  "boolean"
]

The API calls for:
[
  "String",
  "String"
]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值