无法在vue.js中使用ccxt的load_markets()列出市场

时间:2018-08-27 17:03:42

标签: javascript asynchronous vue.js ccxt

我正在将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(pairs)在控制台中提供的内容 consolelog
这就是vue控制台给我的与Pair组件有关的信息 vue

现在我认为这应该可行,但是由于某些原因,列表中没有选项,就像“ pairs”为空但不是,我认为这与异步功能和选项呈现有关在函数等待市场加载之前,但我不确定,而且一直困扰着我好几天,我知道我的示例不容易在另一台机器上复制,因为我没有提供所有组件的代码,而ccxt流行的模块。

1 个答案:

答案 0 :(得分:2)

mounted钩中,尝试:

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