1
socket.emitをその関数の外に移動すると、ソケットの送出イベントが発生します。しかし、私は値のデータを保持する必要がありますが、それは約束のコールバックです。その場合、ソケットのイベントは発生しません。Promiseコールバック内のsocketioに書き込めませんか?
app.io.on('connection', function(socket) {
setInterval(function() {
var bitfinex = new Promise(
function(resolve, reject) {
const orderBook = 'https://api.bitfinex.com/v2/book/tBTCUSD/P0'
axios.get(orderBook)
.then(function(response) {
resolve(response)
})
.catch(function(error) {
reject(error)
});
});
var bitmex = new Promise(
function(resolve, reject) {
const orderBook = 'https://www.bitmex.com/api/v1/orderBook/L2?symbol=xbt&depth=25'
axios.get(orderBook)
.then(function(response) {
resolve(response)
})
.catch(function(error) {
reject(error)
});
});
Promise.all([bitmex, bitfinex]).then(values => {
socket.emit('feed', {
data: values
})
});
}, 3000)
は[ 'Promise'コンストラクタアンチパターン](HTTPSを避けてください://stackoverflow.com/q/23803743/1048572?約束の建設 - 反パターン - および - 回避する方法 - それ)! – Bergi
関数が「正常に実行されない」と呼ばれるとどうなりますか? – Bergi
ソケットメッセージが出力されません。 – hewugub