簡體   English   中英

具有分配給函數的鍵的對象返回未定義,但console.log顯示數據

[英]Object with key assigned to a function returning undefined but console.log shows the data

我有以下正在運行的循環遍歷返回的JSON結果的響應。

我能夠將所有這些數據毫無問題地推送到我的對象p​​roduct.variations中。 但是product.variations.quantity不會從我關聯的函數中返回字符串數據。 附加到getProductStock的函數稱為ok,但當我嘗試將數據返回到將要推送的鍵中時,它作為未定義來。

我感到困惑的原因是因為當我運行console.log回調函數時,我可以看到出現的字符串數據沒有問題。

問題是它將不會返回到數量鍵,然后再推回到我的主要對象產品中 保持返回未定義狀態。

任何幫助將不勝感激:)

   product.variations.push({
               'identifier' :  dataJSON.msg[z].sku,
               'size' : dataJSON.msg[z].size,
               'quantity' : getProductStock(token, dataJSON.msg[z].sku, function(stockLevel){
                 console.log(stockLevel);
                 return stockLevel;
               })
             });

然后,稍后我得到的函數稱為“ getProductStock”

function getProductStock(token, goods_sn, callback){
  var post_data = "token=" + token + "&goods_sn=" + goods_sn;
  var api_url = 'https://randomapiurl.com/getStock?';

  var options = {
    method: 'POST',
    url: api_url,
    data: post_data
  };

  curl.request(options, function(err,data){
    var JSON_result = JSON.parse(data);
        JSON_result.msg.page_result.forEach(function(data, index){
          callback(data.goods_number);
        });
  });

}

 function getProductStock(token, goods_sn, callback){ var post_data = "token=" + token + "&goods_sn=" + goods_sn; var api_url = 'https://randomapiurl.com/getStock?'; var options = { method: 'POST', url: api_url, data: post_data }; curl.request(options, function(err,data){ var JSON_result = JSON.parse(data); JSON_result.msg.page_result.forEach(function(data, index){ pushData(data.goods_number); }); }); } function pushData(quantity) { product.variations.push({ 'identifier' : dataJSON.msg[z].sku, 'size' : dataJSON.msg[z].size, 'quantity' : quantity }); } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM