调用具有默认参数的函数,该函数还具有回调

丹尼尔

考虑示例代码:

function makeRequest(endpoint, form = {}, qs = {}, callback) {
  const exampleObject = {
    endpoint,
    form,
    qs,
  };
  callback(exampleObject);
}

makeRequest('/example', { foo: 'string' }, { bar: 'string' }, (exampleObject) => {
  console.log(exampleObject);
});

在上面的示例中,以下对象将记录在控制台上:

{ endpoint: '/example',
  form: { foo: 'string' },
  qs: { bar: 'string' } }

如何在中使用默认值makeRequest并仍然使用回调?例如,以下失败:

makeRequest('/example', (exampleObject) => {
  console.log(exampleObject);
});

输出:

/Users/daniel/example.js:13
  callback(exampleObject);
  ^

TypeError: callback is not a function
    at makeRequest (example.js:7:3)
    at Object.<anonymous> (example.js:10:1)
    at Module._compile (module.js:409:26)
    at loader (/usr/local/lib/node_modules/babel-cli/node_modules/babel-register/lib/node.js:148:5)
    at Object.require.extensions.(anonymous function) [as .js] (/usr/local/lib/node_modules/babel-cli/node_modules/babel-register/lib/node.js:158:7)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Function.Module.runMain (module.js:441:10)
    at /usr/local/lib/node_modules/babel-cli/lib/_babel-node.js:160:24
    at Object.<anonymous> (/usr/local/lib/node_modules/babel-cli/lib/_babel-node.js:161:7)

考虑到我只发送一个参数,这是有道理的。我想知道如何makeRequest在利用默认参数的同时调用并仍然获得回调。如果存在回调,我是否总是必须传递三个参数?还有其他解决方法,因此我可以选择仅在需要时使用第二个和第三个参数,并且始终进入exampleObject回调函数

安德烈亚斯(Andreas)

如何进行销毁

function makeRequest({ endpoint, form = {}, qs = {}, callback = () => {} }) {
  const exampleObject = {
    endpoint,
    form,
    qs,
  };

  callback(exampleObject);
}

makeRequest({
  endpoint: '/example',
  callback: (x) => console.log(x)
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从修改默认值的函数调用具有不同默认参数的多个函数

来自分类Dev

具有默认参数的PHP调用函数

来自分类Dev

调用具有意外结果的默认构造函数

来自分类Dev

在Python中调用具有参考参数的.Net函数

来自分类Dev

如何调用具有for_each循环参数的函数?

来自分类Dev

调用具有较少参数的C函数?

来自分类Dev

调用具有TypeAlias作为参数的函数?

来自分类Dev

Haskell使用map调用具有多个参数的函数

来自分类Dev

从JavaScript中的对象调用具有正确参数的函数

来自分类Dev

调用具有较少参数的C函数?

来自分类Dev

调用具有多个参数值的模板函数

来自分类Dev

调用具有不同数量参数的函数

来自分类Dev

在 Sinon 中假调用具有特定参数的函数

来自分类Dev

调用具有多个数组参数的函数

来自分类Dev

具有不同参数的回调函数

来自分类Dev

无法调用具有渲染函数的组件构造函数,该函数在 for 循环反应中返回 null

来自分类Dev

使用具有未定义的成功回调函数的bluebird

来自分类Dev

最小起订量:无效的回调。具有参数的方法上的设置无法调用具有参数的回调

来自分类Dev

如何从类似的函数调用具有可变数量的参数的函数?

来自分类Dev

如何在C中调用具有函数指针作为参数的函数?

来自分类Dev

调用具有带有参数的修饰符的函数

来自分类Dev

我可以将一个函数传递给另一个函数,该函数调用具有依赖性的函数吗?

来自分类Dev

具有默认参数的可行函数

来自分类Dev

具有默认参数的JavaScript函数

来自分类Dev

具有默认参数的Unity构造函数

来自分类Dev

使用左值调用时不使用具有通用引用参数的函数

来自分类Dev

如何调用具有相同名称但不同参数的虚函数?

来自分类Dev

lisp:正确调用具有2个相互依赖的参数的函数

来自分类Dev

如何多次调用具有不同参数的函数成员?

Related 相关文章

  1. 1

    从修改默认值的函数调用具有不同默认参数的多个函数

  2. 2

    具有默认参数的PHP调用函数

  3. 3

    调用具有意外结果的默认构造函数

  4. 4

    在Python中调用具有参考参数的.Net函数

  5. 5

    如何调用具有for_each循环参数的函数?

  6. 6

    调用具有较少参数的C函数?

  7. 7

    调用具有TypeAlias作为参数的函数?

  8. 8

    Haskell使用map调用具有多个参数的函数

  9. 9

    从JavaScript中的对象调用具有正确参数的函数

  10. 10

    调用具有较少参数的C函数?

  11. 11

    调用具有多个参数值的模板函数

  12. 12

    调用具有不同数量参数的函数

  13. 13

    在 Sinon 中假调用具有特定参数的函数

  14. 14

    调用具有多个数组参数的函数

  15. 15

    具有不同参数的回调函数

  16. 16

    无法调用具有渲染函数的组件构造函数,该函数在 for 循环反应中返回 null

  17. 17

    使用具有未定义的成功回调函数的bluebird

  18. 18

    最小起订量:无效的回调。具有参数的方法上的设置无法调用具有参数的回调

  19. 19

    如何从类似的函数调用具有可变数量的参数的函数?

  20. 20

    如何在C中调用具有函数指针作为参数的函数?

  21. 21

    调用具有带有参数的修饰符的函数

  22. 22

    我可以将一个函数传递给另一个函数,该函数调用具有依赖性的函数吗?

  23. 23

    具有默认参数的可行函数

  24. 24

    具有默认参数的JavaScript函数

  25. 25

    具有默认参数的Unity构造函数

  26. 26

    使用左值调用时不使用具有通用引用参数的函数

  27. 27

    如何调用具有相同名称但不同参数的虚函数?

  28. 28

    lisp:正确调用具有2个相互依赖的参数的函数

  29. 29

    如何多次调用具有不同参数的函数成员?

热门标签

归档