所以我当前正在尝试返回从诺言中得到的值。返回的数据是一个数组,我需要遍历该数组才能从特定条件中获取正确的值。这是代码。
const currency = await getCurrency().then(({ data }) => {
data.map(({ default, code }) => {
if (default){
return code
}
})
}
return { pageProps, categories, currency };
}
按照要求输入getCurrency代码
export const getCurrency = () => Moltin.Currencies.All();
大约98%的人确定我的问题来自语法! 感谢您的帮助
答案 0 :(得分:1)
您的代码中存在一些问题
您不能使用default
,因为它是javascript的保留关键字。
查看this答案以了解解决方法。
您可以的话
data.map(({ default: dev, code }) => {
if (dev){
return code
}
})
答案 1 :(得分:0)
如果getCurrency()返回一个promise,并且您正在使用await,则无需使用.then()。名为currency的变量将保存诺言返回的值。 .then()仅在不支持async / await语法的环境中使用。
答案 2 :(得分:0)
如果您必须在某些条件下获取某些值,我建议您使用过滤器而非地图。 map仅转换数据,而filter根据条件返回元素。
例如:
const currency = await getCurrency().then(({ data }) => {
data.filter(({ default, code }) => // some condition )
}
return { pageProps, categories, currency };
}