gpt4 book ai didi

javascript - 事件发射器同步 node.js 客户端

转载 作者:行者123 更新时间:2023-11-30 13:06:36 25 4
gpt4 key购买 nike

function findById(id) {
var fullName = "";
client.emit("findById", id, function(result){
fullName = result.fullName;
});
}

我想从 findById 函数中找到全名

当我调用函数 findById result = ""

最佳答案

要使其同步,您必须使用循环锁定该函数。 我不建议这样做

function findById(id) {
var fullname, waiting = true;

client.emit("findById", id, function(result){
fullname = result.fullName;
waiting = false;
});

while (waiting);
return fullname;
}

最好接受该方法本质上是异步的这一事实,并将结果传递给回调:

function findById(id, callback) {
client.emit("findById", id, function(result){
callback(result.fullName);
});
}

用法将是:

findById(id, function(fullName) { /* ... */ });

如果嵌套回调在您的应用程序中变得令人头疼,可以使用流量控制库,例如 async (在 Node 和浏览器中运行)使事情更清晰,更易读。

关于javascript - 事件发射器同步 node.js 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15463755/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com