事件发射器同步node.js客户端
event emitter synchronous node.js client side
function findById(id) {
var fullName = "";
client.emit("findById", id, function(result){
fullName = result.fullName;
});
}
我想从函数findById中找到全名
当我调用function 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和浏览器中运行),使事情更干净,更可读
相关文章:
- 使用Twilio JS客户端API时出现JWT令牌过期问题
- 只有在angular js中手动重新加载页面时,signaler-js客户端方法才会调用
- 如何将图像从 JS 客户端库附加到新的 Trello 卡
- 从Node.js客户端使用Aerospike LDT(大型数据类型)的任何方法
- 将 GraphQL 模式从非 JS 服务器公开给 JS 客户端
- 使用 Twilio JS 客户端,如何调用在 texbox 中输入的号码
- 让Pusher JS客户端在PhantomJS中工作
- Node.js客户端和服务器使用Telnet进行游戏
- Meteor JS:客户端没有从Mongo DB获取数据
- SignalR没有't达到JS客户端功能
- 如何将js客户端的图像保存到blobstore
- Strophe.js客户端连接到服务器,断开连接/超时
- Socket.IO Node.JS客户端显示变量
- Node.js客户端会话未创建req.session
- Node.js客户端请求挂起
- Node.js客户端vs.服务器-相同的代码不同的结果
- JSF ajax请求在与JS客户端验证相结合时不会被触发
- 使用angular js客户端对Python服务器进行rest调用的例子
- 预编译模板出现Dust.js客户端渲染问题
- SignalR JS客户端:向invoke方法传递参数