javascript - Nodejs websockets客户端未决承诺
问题描述
尝试使用 Promise 作为 nodejs 客户端从 websocket 连接中捕获所有数据。脚本在收到所有消息和 console.logging 之前退出'Promise { <pending> }'
,我希望它记录“响应 #1 | 再见'。
const WebSocket = require('ws');
const ws = new WebSocket('wss:url');
let results = new Promise(function(resolve, reject) {
ws.on('open', function open() {
ws.send('hello');
});
let receivedResults = '';
ws.on('message', function incoming(data) {
if (data == 'goodbye') {
receivedResults += ' | ' + data;
resolve(result);
} else {
receivedResults = data;
}
});
});
console.log(results);
解决方案
要让它记录response #1 | goodbye
,您需要等待它解决。
results.then(data => console.log(data));
推荐阅读
- leaflet - 从 50% 不透明度的 tilelayer WMS 生成图像
- artificial-intelligence - Fluid-synth 始终确保存在银行编号
- ruby-on-rails - AJAX Ruby on Rails | 部分不重新渲染
- scala - 从 Scala 中的抽象类创建匿名类 - 脱糖代码
- c# - 如何将现有类转换为带有事件的 DDD 聚合?
- c# - 查找与 PID 对应的 HWND
- javascript - ReactJS - TypeError:无法读取未定义的属性'setState' - LocalForage IndexedDB GraphQL
- mysql - 在mysql中的某个时间后获取下一个可用时间段
- django - 如何在 django 中使用过滤后的自联接注释 QuerySet
- google-apps-script - 如何在当天下午 12:00 通过 IMPORTHTML 锁定单元格以防止更新