我从函数接收一个值以传递给类中的方法。当我传递从 web.js 中的函数返回的值时,它在我的shopifyStore类中返回未定义。可能是什么原因以及我该如何解决这个问题?PS:JavaScript初学者网页.jswindow.shopify.findName({}, function(items) { var shopify = items; console.log(items); //this returns the value pushValue(items); });export function pushValue(items) { return items; }成分import * as shopifyHelper from '/web.js';class shopifyStore extends HTMLElement { constructor() { super(); } getItemCount() { console.log(shopifyHelper.pushValue()) // this returns undefined }}
1 回答
HUWWW
TA贡献1874条经验 获得超12个赞
你应该承诺window.shopify.findName方法的回调。重新设计你的pushValue函数:
export function pushValue(items) {
return new Promise((resolve, reject) => {
window.shopify.findName({}, items => resolve(items));
})
}
并这样称呼它:
async getItemCount() {
console.log(await shopifyHelper.pushValue());
}
或者:
getItemCount() {
shopifyHelper.pushValue().then(items => console.log(items));
}
添加回答
举报
0/150
提交
取消