【发布时间】:2020-08-16 01:13:39
【问题描述】:
我想执行一系列 getData 函数,但前提是有数据要获取。然后我需要将所有结果编译成一个配对值数组来返回。
以下代码有效,但我需要对另外 7 批“if (card.x)...”执行类似操作 有什么更好的方法呢?
async function buildingCard(card) {
let cardToCreate = []
try {
if (card.joke1) {
// wixData.get returns a promise
let joke = await wixData.get("jokes", card.joke1).then((results) => {
cardToCreate.push({ "titleText1": results.title })
})
}
if (card.quote1) {
let quote = await wixData.get("quotes", card.quote1).then((results) => {
cardToCreate.push({ "fancyText1": results.title })
})
}
return cardToCreate
} catch (error) {
console.log("buildcard error: " + error);
return error;
}
}
【问题讨论】:
-
您想并行(全部相互重叠)还是串行(一个接一个)执行
get操作? -
另外,结果对象上的属性名称是否会这样变化?第一种情况是
titleText1,第二种情况是fancyText1。 -
我已更改您的问题标题以准确反映问题。 “编译”一词在编程中具有特定含义,此处不适用。
标签: javascript arrays promise