javascript - 尝试解码此node.js代码中的单词 "callback"

标签 javascript node.js

我是node.js的新手,遇到了这段代码,并试图理解“回调”这个词的作用。我的意思是我知道什么是回调,但为什么他们实际上使用下面的“回调”一词以及它在做什么。非常感谢您的帮助。

io.sockets.on('connection', function(socket) {
    socket.on('nickname', function(data, callback) {
        if (nicknames.indexOf(data) != -1) {
            callback(false);
        } else {
            callback(true);
            nicknames.push(data);
            socket.nickname = data;
            console.log('Nicknames are ' + nicknames);
        }
    });
});

最佳答案

这是一个变量名。

它在函数表达式中定义为参数:function (data,callback) {

期望传递给它的值将是一个函数(因此此处调用的函数:callback(false);)。

一个不依赖于任何您看不到的库代码的简单示例:

function doSomething(callback) {
    alert("doing something");
    callback(1);
}

function myCallback(value) {
  alert("myCallback called with the argument: " + value);
}

doSomething(myCallback);

But function (data, bob) is the callback function. Why include "callback" (or bob) within the callback. Does that make sense?

您有多个回调函数。

将一个回调函数作为参数传递给另一个函数,然后调用该函数。

关于javascript - 尝试解码此node.js代码中的单词 "callback",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32125050/

相关文章:

javascript - 从 Parse Cloud Code (Javascript) 中的数组中删除对象

node.js - 如何确保文件已下载,然后将响应返回给客户端?

javascript - 使用加密模块进行 RSA 解密给出 "rsa OAEP sha512"

javascript - 如何检测 Node.js 中损坏的图像文件?

javascript - 我无法使用 multer 查看 Angular 响应

javascript - 使用 RegEx 查找 HTML 标签之间的内容

javascript - Foreach 与 'afterAdd' 的绑定(bind)会导致整个模板在插入时再次绘制

javascript - 页面重新加载时 firebase currentUser 为 null

node.js - 向 glitch.me 服务器发出跨域请求

javascript - Meteor 应用程序访问其根目录之外的文件