首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
V2EX  ›  JavaScript

callback 为什么没有被调用?

  •  
  •   victorhe0601 · 27 天前 · 1208 次点击
    const timeFuncRuntime = funcParameter => {

    console.log('parent function called');
    }

    const callbacks= () => console.log(' callback called');


    timeFuncRuntime(callbacks);


    我在 chrome 里边测试了,callbacks 函数没有被调用,为什么,应该被调用的啊。
    14 回复  |  直到 2019-03-22 13:24:04 +08:00
        1
    myl0204   27 天前
    ```
    const timeFuncRuntime = funcParameter => {
    funcParameter()
    console.log('parent function called');
    }
    ```
        2
    geelaw   27 天前 via iPhone
    那你再读一读代码看看?
        3
    kzfile   27 天前   ♥ 4
    在这种帖子我还可以找找自信
        4
    Joyboo   27 天前
    因为你本来就没有调用。。。
        5
    1to3   27 天前
    callback 不会自动调用. 它作为函数的参数传入函数内部. 需要你像调用其他函数一样, 显式调用它. 如 1 楼那样.
        6
    FakeLeung   27 天前
    亲,这边建议您再仔细看看代码。
        7
    victorhe0601   27 天前
    参见这个例子: https://stackoverflow.com/questions/824234/what-is-a-callback-function

    这个代码里边也没有显式调用,而且还有很多人都是这么解释的,参见: http://javascriptissexy.com/understand-javascript-callback-functions-and-use-them/
    https://codeburst.io/javascript-what-the-heck-is-a-callback-aba4da2deced

    因为看了上面的这些文档,我以为 callbacks 的执行逻辑就是这样:在 parent 函数执行完成之后,自动执行,不用显式调用?
        8
    victorhe0601   27 天前
    我知道了,应该是 stackoverflow 这里边的例子不是针对 JS 的。只是一个范例。谢谢大家。所以:无论如何怎样传入,都需要显式调用才行。
        9
    1to3   27 天前   ♥ 1
    @victorhe0601 JavaScript 需要你显式调用.
        10
    yushenglin   27 天前
    你第一个函数里面都没有调用,你传一个函数进去怎么可能调,函数体里面需要调用啊
        11
    will0404   27 天前
    不懂就问,前面说 JS 需要“显式调用”,难道别的语言有“隐式调用”?
        12
    shintendo   27 天前   ♥ 1
    我以为 callbacks 的执行逻辑就是这样:在 parent 函数执行完成之后,自动执行,不用显式调用?
    --------------
    要是这样,那回调的意义在哪里
    parent(callback);为什么不写成 parent();callback();
    回调是你不知道什么时候要执行,但是 parent 函数知道,所以你把你要做的事情装在 callback 里面交给 parent,让它来决定什么时候执行
        13
    victorhe0601   27 天前
    谢谢各路神仙的指点。
        14
    victorhe0601   27 天前
    尤其感谢 @shintendo 和 @1to3
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   837 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 16ms · UTC 20:32 · PVG 04:32 · LAX 13:32 · JFK 16:32
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1