Я использую нечто похожее на NodeJS, называемое bondi, оно построено на движке Firefox js .. В основном я получаю эту ошибку, и я считаю, что это связано с тем, Я ссылаюсь на «это» в функции .Get ниже.this._get не является функцией - javascript oop и prototypes
В основном существует инструмент под названием SFtpClient. Он имеет метод «Получить», чтобы отобразить содержимое папки, но я хочу изменить прототип для этого с помощью drop in include file. Мне нужно изменить его так, чтобы он a/повторяет несколько раз, когда он терпит неудачу, а b/имеет рекурсивную функцию списка папок.
Итак, я использовал прототип для его изменения - переехал. Вернемся к ._Get.
Может кто-нибудь понять, почему я бы получаю ошибку:
Jan 23 04:51:34 beta bondi: === this._Get is not a function --- Prio(6) Result(0x0) File(/home/nwo/approot/include/sftpclientenh
, когда я запускаю этот код? Благодаря
SFtpClient.prototype._Get = SFtpClient.prototype.Get;
SFtpClient.prototype.Get = function(Folder, Retries){
//defaults
if(!Retries) Retries = 5;
if(!Folder) Folder = "~/";
//vars
var FileListing = [];
var connect = function(){
//TODO JRF 19.01.2012 : re-enable this when bondi is fixed
// this.HomeDirectory.replace(/\/?$/, "/");
FileListing = this._Get(Folder);
return true;
}
var i = 1;
do{
var res = false;
try {
res = connect();
}catch(e){
Debug.LogInfo(e.message);
}
i++;
Server.Sleep(i*2000);
} while(res==false && i < Retries);
return FileListing;
}
pop pop! это работает. спасибо ... что все имеет смысл сейчас +1 – Jason
Что произойдет, если есть аргумент, который мне нужно предоставить для подключения()? не в этом случае, а в будущем? – Jason
'connect.call (это, arg1, arg2/* и т. Д. * /)'. в основном '.call()' принимает еще один аргумент, чем '()', и этот первый аргумент сообщает ему, что это было бы. –