-1
雖然這個工程,並打印我從0到9如何JS綁定到外部科爾多瓦回調函數
for (var i=0; i < 10; i++ {
function myFunction (callback) {
setTimeout(function() {
callback('Answering your phone call');
}, 10000);
}
myFunction(function (message) {
console.log("i = " + this.i + " , message = " + message);
}.bind({i: i}));
}
這不起作用,並打印我的10,10,10,10 ... (10次)
for (var i=0; i < 10; i++ {
// There is an externalFunction, which is a Cordova call, that does call the callBack function with a message.
externalFunction(function (message) {
console.log("i = " + this.i + " , message = " + message);
}.bind({i: i}));
}
我在做什麼錯? 我無法控制externalFunction,並且我想在callBack返回時保留call#。
我已經嘗試過各種版本的閉包,並且綁定並且無法讓它工作。
可能重複[JavaScript閉合內循環 - 簡單實用示例](http://stackoverflow.com/questions/750486/javascript-closure-inside-loops-simple-practical-example) – Hamms
@Hamms他沒有使用關閉變量,他正在使用對象屬性。 – Barmar
第一個只顯示0-9,因爲循環終止於i <10因此'i'永遠不會等於10 –