我有以下内容通过循环运行返回JSON结果的响应。
我能够将所有这些数据推送到我的对象product.variations中,没有任何问题。然而, product.variations.quantity 不会从我关联的函数返回字符串数据。附加 getProductStock 的函数称为ok,但当我尝试将数据返回到将被推送的键时,它以 undefined 的形式出现。
我感到困惑的原因是因为当我运行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);
});
});
}
答案 0 :(得分:0)
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
});
}