1 回答

TA貢獻1785條經驗 獲得超8個贊
您也必須在您調用的函數中等待:
const getQuotes = async symbol => {
let quotes = {};
const client = await new DeltaRestClient(api_key, api_secret);
const linkOptions = createIdentifiers(symbol, false);
for (const entry of Object.entries(linkOptions)) {
const response = await client.apis.Products.getTicker({ symbol: entry[1] });
const ticker = JSON.parse(response.data.toString());
quotes[entry[0]] = parseFloat(ticker.result.close);
}
return quotes;
};
并相應地調用它:
const start = async () => {
const quotes = await getQuotes("ABCD");
console.log(quotes);
};
一般來說,混合 async/await 和 Promise.then/.catch 會導致容易被誤解的可疑代碼。
如果您愿意,您可以通過解構條目元素來提高可讀性:
for (const [key, symbol] of Object.entries(linkOptions)) {
const response = await client.apis.Products.getTicker({ symbol, });
const ticker = JSON.parse(response.data.toString());
quotes[key] = parseFloat(ticker.result.close);
}
- 1 回答
- 0 關注
- 487 瀏覽
添加回答
舉報