我正试图了解Node.JS中的回调,与我以前相比,这是非常陌生的。
我在这里的另一篇文章中有以下示例:
var someOutput;
var myCallback = function(data) {
console.log('got data: '+data);
someOutput = data;
};
var usingItNow = function(callback) {
callback('get it?');
};
//now do something with someOutput outside of the functions
我添加了someOutput变量 - 我想获取文本'get it?' (显然我没有)进入那里,以便我可以将它连接到一个字符串,但它不能以我尝试的任何组合工作。
我必须遗漏一些基本的东西!
感谢您的帮助。
答案 0 :(得分:1)
你应该调用函数:
usingItNow(myCallback);
但无论如何,使用回调来设置变量并在以后使用它并不是一个好习惯。它现在适用于你,但是如果回调将是异步的,它将会失败。
考虑使用Promise
并在someOutput
函数中使用then
。
一个好的Promise包是Bluebird
如果你想像专业人士那样做,请考虑使用Promise.coroutine
http://bluebirdjs.com/docs/api/promise.coroutine.html
如果您使用的是Node.js的更新版本,请async
+ await
查看http://node.green/#ES2017-features-async-functions以查看节点版本上的可用内容
答案 1 :(得分:0)
由埃米尔评论:
“调用usingItNow(myCallback);”
卫生署!