0
我有以下這是通過循環運行通過返回從返回的JSON結果的響應循環。對象與鍵分配給函數返回undefined,但console.log顯示數據
我能夠將所有這些數據推送到我的對象product.variations中,沒有任何問題。但是,product.variations.quantity不會從我已關聯的函數返回字符串數據。附加的功能getProductStock被稱爲ok,但它會作爲undefined當我試圖將數據返回到將被推送的密鑰。
我感到困惑的原因是因爲當我運行console.log回調函數時,我可以看到字符串數據出現沒有問題。
問題是,它不會返回到數量鍵,然後推回到我的主要對象產品。保持返回undefined。
任何幫助將是非常感激:)
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);
});
});
}
可能的複製功能[我如何從異步調用返回響應?](http:// sta ckoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call) – gyre