gpt4 book ai didi

node.js - 检查 Node 中缺少的选项和回调

转载 作者:行者123 更新时间:2023-12-03 08:54:05 25 4
gpt4 key购买 nike

我有一个aysnc函数,它带有一个options对象和回调

function myFunc(options,callback) {
// do stuff
callback(null);
}

作为我的防守意识强者,我想检查一下参数中是否存在潜在问题

所以我要做的第一件事是为options.name添加一个测试(因为我需要该属性)
function myFunc(options,callback) {
if (!options.name) { callback(new Error("name must be specified")) }
// do stuff
callback(null);
}

但是-这导致了一系列的想法..如果
  • 选项是空对象或空对象
  • 选项未指定的地方,只是回调传递给
  • 如果根本不传递任何参数怎么办?


  • 我想检查一下我的想法是否正确-
  • 选项为空/空。定义了回调-> 回调,错误为
  • 选项未定义。没有选项,也没有回调-> 抛出新错误
  • 选项已定义,未回调
  • typeof options是一个函数-> 将options用作回调,但错误
  • typeof选项不是函数-> 引发错误


  • 所以,这是很多检查...人们真的做所有这些吗?确保参数正确无误的最佳实践是什么?

    最佳答案

    由于此问题具有个人风格,因此请参阅以下内容:

    回调的目的是提供异步操作的结果。这样,只需要异步调用即可。如果有任何事情阻止您的代码完成其任务,并且您可以同步地识别出该代码,则返回一个错误值(如果已定义)或抛出错误。

    如果异步操作失败,请使用回调进行通知。

    旁注 options可以是undefined,而callback可以同时是有效函数。不要假设其他情况。

    关于node.js - 检查 Node 中缺少的选项和回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31856850/

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