[英]Object with key assigned to a function returning undefined but console.log shows the data
我有以下正在運行的循環遍歷返回的JSON結果的響應。
我能夠將所有這些數據毫無問題地推送到我的對象product.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.