返回/从Twit's客户端.get
Returning/getting an output from Twit's client.get
我在node.js中有这段代码,我使用的是Twit:
var output = "Output: "
client.get('search/tweets', {q: "apple", count:5},
function(err, data, response){
for (var index in data.statuses) {
var tweet= data.statuses[index];
console.log('@' + tweet.user.screen_name + ': ' + tweet.text+''n');
output += '@' + tweet.user.screen_name + ': ' + tweet.text+''n'
}
})
console.log(output);
这五条推文打印到控制台很好,但没有添加到输出中,所有从console.log(output);
打印的都是Output:
。此外,这一行打印在tweets之前,因此client.get
函数必须与脚本的其余部分并行运行;我怎么能强迫它不这样做呢?
您正在定义的函数:
function(err, data, response){
for (var index in data.statuses) {
var tweet= data.statuses[index];
console.log('@' + tweet.user.screen_name + ': ' + tweet.text+''n');
output += '@' + tweet.user.screen_name + ': ' + tweet.text+''n'
}
})
称为回调。get
函数从服务器检索数据后,将运行该回调函数。如果将console.log(output);
移动到函数内部,就在for循环的正下方,它应该会打印出您所期望的内容。此外,你不能真的强迫它不并行运行,或者你不应该这样做。服务器调用最好异步完成。只需在回调中调用另一个函数(如handleData)来处理数据,如下所示:
function(err, data, response){
for (var index in data.statuses) {
var tweet= data.statuses[index];
console.log('@' + tweet.user.screen_name + ': ' + tweet.text+''n');
output += '@' + tweet.user.screen_name + ': ' + tweet.text+''n'
}
handleData(data);
})
相关文章:
- 客户端服务器REST API captcha实现
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 如何使用Socket.io将命令从客户端发送到服务器
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- Meteor方法在客户端返回null,在客户端运行的相同方法返回正确的值
- 从客户端获取修改后的对象,并将其与服务器上的原始对象组合
- 如何将我的javascript库公开给其他客户端使用
- 返回/从Twit's客户端.get
- Meteor:使用HTTP.get从客户端访问网站(CORS错误)
- jQuery$.get从物理客户端站点返回403
- 使用“GET”的客户端请求表单,即使定义了“POST”.javascript iframe是原因吗
- radgrid -get 服务器在客户端编辑的行
- 如何在nodejs的浏览器中对http GET上的客户端js文件进行模糊处理
- HTTP GET位于客户端调用的api方法内部
- 如何获取HTTP get请求传递的客户端参数
- Ajax可以阻止客户端看到GET参数吗
- 客户端的GET请求路由
- 如何使用Node/Express从客户端调用ajax get请求
- 使用jQuery.get()测量客户端带宽
- 如何防止客户端在每次GET之前发送OPTION请求