我们正在尝试将额外的变量传递到Firebase .ON promise的回调函数中。我们查看了SO上数十篇关于如何将静态变量传递给.ON方法回调函数的帖子,但每个版本都会为我们抛出data.val()未定义的错误。
以下是示例代码。我们想为i传入一个值:
我们认为我们可能能够做类似这样的事情,但我们无法使其变化起作用:
以下是示例代码。我们想为i传入一个值:
var path = firebase.database().ref(our_firebase_data_url);
var fx = function fx_call(data) {
value = data.val();
console.log("Here is your passed parameter: " + i); // we want this defined
};
path.on('value', fx);
我们认为我们可能能够做类似这样的事情,但我们无法使其变化起作用:
fx_call(data,i) {
value = data.val();
i = i.val();
};
或者,看起来我们可以通过 .bind 语句传递我们的值:
fx_call(data,i) {
value = data.val();
i = i.val();
}.bind(this, i) # we also tried .bind(null,i) and .bind(i)
但是我们尝试了多个stackoverflow帖子的方法(1,2,3和其他),但都导致了一个data.val()未定义的错误。
我们如何将额外的变量参数传递给我们promise的回调函数?
var i=5, j=10
- 我一定是错过了问题的要点 - Jaromanda X