返回未定义的值 - Javascript

我从函数接收一个值以传递给类中的方法。当我传递从 web.js 中的函数返回的值时,它在我的shopifyStore类中返回未定义。可能是什么原因以及我该如何解决这个问题?


PS:JavaScript初学者


网页.js


window.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

   }

}


汪汪一只猫
浏览 130回答 1
1回答

HUWWW

你应该承诺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));}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript