一尘不染

回调函数示例

node.js

我很难理解callback()下面的代码块中如何使用该函数。callback()function callback{}尚未定义时,如何在函数体中将其用作函数?将true / false作为参数传递给下面的回调函数有什么影响?

感谢您的澄清,在此先感谢!

socket.on('new user', function(data, callback){
    if (nicknames.indexOf(data) != -1){
        callback(false);
    }else{
        callback(true);
        socket.nickname = data;
        nicknames.push(socket.nickname);
        updateUserList();
    }
});

阅读 333

收藏
2020-07-07

共1个答案

一尘不染

当您将函数作为参数传递时,它称为回调函数,并且当您通过此回调函数返回值时,该值就是所传递函数的参数。

function myFunction(val, callback){
    if(val == 1){
        callback(true);
    }else{
        callback(false);
    }
}

myFunction(0, 
//the true or false are passed from callback() 
//is getting here as bool
// the anonymous function below defines the functionality of the callback
function (bool){
    if(bool){
        alert("do stuff for when value is true");
    }else {
        //this condition is satisfied as 0 passed
        alert("do stuff for when value is false");
    }
});

基本上,callbacks()用于异步概念。在特定事件上调用它。

myFunction也是回调函数。例如,它发生在单击事件上。

document.body.addEventListener('click', myFunction);

这意味着,首先将动作分配给其他功能,然后再考虑一下。满足条件时将执行该操作。

2020-07-07