我是Firebase的新手,我是一个使用" ProductID"获取产品信息的简单程序。 这是层次结构: PRODUCT CHILD
问题是,当我使用此函数时,它返回未定义的值。我知道它是异步的,我尝试过添加承诺,但仍然徒劳无功。在这里:
function getProduct(prID){
var db = admin.database();
var ref = db.ref("server/products/" + prID);
let rData = '';
ref.on("value", function(snapshot) {
rData = snapshot.val();
}, function (errorObject) {
console.log("The read failed: " + errorObject.code);
});
return rData;
使用相同的值调用相同的函数会返回产品,但是要调用不同的参数值,它将返回undefined。 我尝试过使用(在函数 getProductPromise(prID)中),我将上面的函数更改为:
function getProductPromise(id) {
var db = admin.database();
var ref = db.ref("server/products/" + id);
let rData = '';
return ref.once('value').then(function(snapshot) {
return snapshot.val();
});
}
它仍然返回未定义的值。可能的方法是确保返回某些值。 感谢。
答案 0 :(得分:0)
在第一个示例中,您似乎遇到了一些范围问题,因此不确定它是否会像您期望的那样工作。承诺是你最好的选择。您可以尝试以下方式:
'[type="radio"]'