【发布时间】:2020-10-21 07:37:48
【问题描述】:
我正在尝试将承诺的数据记录到我的控制台,但它没有显示。我已经尝试在 then 和函数之上定义 then 并尝试在执行算法之前使用 let 和重新定义但是。没有回应
样本
var trade;
const getTrades = async () => {
return await axios({
method: 'get',
url: bUrl + tradeQuery
})
}
const getSOrders = async () => {
return await axios({
method: 'get',
url: bUrl + mOrderQuery
})
}
const postOrder = async() => {
const binanceRest = new api.BinanceRest({
...
}
)
binanceRest.newOrder({
...
})
.then(async(data) => {
const trades = await getTrades()
const mOrders = await getSOrders()
console.log(data)
console.log(trades)
})
.catch((err) => {
console.error(err)
})
}
(
postOrder(),
async () => {
const trades = await getTrades()
const mOrders = await getSOrders()
const sells = mOrders.data.asks
const buys = mOrders.data.bids
while (true/*while order is in */) {
trade = trades.data[trades.data.length - 1]
console.log(sells)
}
}
)()
【问题讨论】:
-
所以把这个愚蠢的问题排除在外。你有没有打电话给
postOrder? -
你确定
binanceRest.newOrder确实在解决承诺吗?尝试通过控制台记录 Promise 对象本身以查看它是否已填充。 -
@Splox 是的,订单正在发生,问题是如果 const trades = await getTrades() const mOrders = await getSOrders() 未定义,则可以记录 .then 中的所有内容
-
我编辑了这个问题,顺便说一下 console.log 在 while 工作
-
请@CamilleBasbous,尝试解决我在回答中写的问题,你会发现很多问题都会解决。
标签: javascript node.js async-await binance