Невозможно перечислить рынки с помощью ccxt load_markets () в vue.js - PullRequest
0 голосов
/ 27 августа 2018

Я использую ccxt для проекта. ccxt - это модуль узла, который позволяет мне получать данные в реальном времени для разных криптовалют / рынков
Я хочу извлечь криптопары из определенного обмена, используя этот код

const ccxt = require('ccxt')
const exchanges = ccxt.exchanges;
async function getMarkets(){
    let acx = new ccxt.acx()
    let markets = await acx.load_markets()
    return markets    
};

Я использую vue.js для этого проекта, и я планирую составить список всех рынков из этого обмена с помощью vue и ccxt, мой шаблон vue это
<select v-model="selected"> <option v-for="pair in pairs"> {{ pair }} </option> </select>

Остальная часть моего кода получает данные из асинхронной функции, привязывая их к переменной, чтобы я мог использовать их в качестве данных в своем коде Vue, а затем использовать их в шаблоне

let pairs = getMarkets()
console.log(pairs)


export default {
name: 'pair',
data() {
  return {
    pairs,
    msg: 'Pair',
    selected: ''

  }
 }
}

Это то, что console.log (пары) дает в консоли consolelog
И это то, что дает мне консоль vue в отношении компонента Pair vue

Теперь я думаю, что это должно работать, но по какой-то причине в списке нет опций, как если бы «пары» были бы пустыми, но это не так, я думаю, что это как-то связано с асинхронной функцией и рендерингом опций до того, как функция ожидает загрузки рынков, но я не уверен, и это меня беспокоило уже несколько дней, я знаю, что мой пример нелегко воспроизвести на другой машине, так как я не давал код для всех компонентов, а ccxt - нет Это популярный модуль.

1 Ответ

0 голосов
/ 27 августа 2018

В хуке mounted попробуйте:

mounted() {
   getMarkets().then(markets => this.pairs = markets)
}
...