gpt4 book ai didi

javascript - 如何强制异步函数等待完成

转载 作者:行者123 更新时间:2023-12-02 18:38:43 26 4
gpt4 key购买 nike

我在这里看到了一些类似的问题,但似乎没有一个与此直接相关。我正在阅读 Twitter 流并使用 socket.io 发出它,如下所示:

stream.on('data', function (data) {
var geo=false,latitude,longitude;

if(data.geo!=null){
geo = true;
latitude = data.geo.coordinates[0];
longitude = data.geo.coordinates[1];

}
io.sockets.volatile.emit('tweets', {
user: data.user.screen_name,
text: data.text,
geo : geo,
latitude: latitude,
longitude: longitude,
});
});

我想在将数据发送到套接字之前添加一些数据处理。处理代码为:

var sentiment;
sentiment(data.text, function (err, result) {
sentiment = result.score;
});

我想将其发出为:

io.sockets.volatile.emit('tweets', {
user: data.user.screen_name,
text: data.text,
geo : geo,
latitude: latitude,
longitude: longitude,
sentiment: sentiment
});

但是我收到了一些错误,我认为这些错误与处理的异步性质有关。如何强制它等待处理函数完成后再发出?

最佳答案

您正在覆盖您的情绪功能:

var sentiment;                                <-- declare a var...
sentiment(data.text, function (err, result) { <-- ..and call it (which fails)
sentiment = result.score;
});

关于javascript - 如何强制异步函数等待完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17044227/

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