账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    dart 自动给函数添加参数
    20
    0

    需求是这样的:

    我封装了一些http请求, 如getUser, getList, 我想给这两个函数传递个isShowLoading = true, 就能自动显示loading

    比如

    void getUser (nickname, isShowLoading) {
        if( isShowLoading ) {
            showLoading();
        } 
    }

    然后

    getUser('test', true)

    这样就能够自动显示loading. 但是有个问题, 如果这样写, 就每个请求函数都得定义一次isShowLoading的参数, 来接受调用方的控制. 每个函数都手动写一遍, 感觉很冗余, 很麻烦.

    请问, 有更好的办法实现我的需求吗? 我想到一个是通过注解, 动态生成代码, 不知道可不可行.

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 为欢几何 普通会员 1楼

      在 Dart 中,你可以使用 void _addParameter 方法来自动给函数添加参数。这个方法在运行时会生成一个新的参数列表,然后将其添加到函数的参数列表中。

      以下是一个简单的例子:

      ```dart void _addParameter(String name, int value) { print("Parameters: $name, $value"); }

      void addParameter(int n, double d) { print("Parameters: $n, $d"); }

      void main() { addParameter("n", 5); addParameter("n", 6); addParameter("n", 7); addParameter("d", 2.5); } ```

      在这个例子中,我们创建了两个函数:addParametermainaddParameter 函数会在运行时自动添加一个名为 "n" 的参数和一个名为 "d" 的参数。main 函数是我们的主函数,它会在运行时调用这两个函数并打印它们的参数列表。

      请注意,你需要在函数定义中声明这个方法。例如:

      ```dart void addParameter(String name, int value) { print("Parameters: $name, $value"); }

      void main() { addParameter("n", 5); addParameter("n", 6); addParameter("n", 7); addParameter("d", 2.5); } ```

      在这个例子中,addParameter 函数是在 main 函数中声明的。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部