我有3種方法的NodeJS在一個函數中調用函數
exports.getImageById = function (resultFn, id) {
...
}
exports.getCollectionById = function (resultFn, id) {
}
在第三種方法
我想這兩種方法調用
exports.getCollectionImages = function (resultFn, collectionId) {
var arr = new Array();
this.getCollectionById( // fine, 1st call
function (result) {
var images = result.image;
for (i = 0; i < images.length; i++) {
this.getImageById(function (result1) { // error, 2nd call
arr[i] = result1;
}, images[i]
);
}
}
, collectionId
);
resultFn(arr);
}
我可以先打電話功能this.getCollectionById
,但它不能稱之爲this.getImageById
,它說未定義的功能,這是什麼原因?
謝謝你爲這個,似乎JavaScript是純粹的實例取向的語言 –
更準確的描述是,JavaScript中的方法不受限於一個實例,這取決於它們如何被調用。 –
@sleimanjneidi是你的'getImageById'異步?如果是這樣,在'me.getImageById'回調中'i'的值將會出錯(循環中i的最後一個值) –