Javascript:在方法内调用方法本身(带原始参数)

时间:2014-05-26 16:22:51

标签: javascript node.js

我开发了一个类来将文件上传到ima​​geshack。为此,您必须先获得授权才能获得auth_id。

因为我在nodejs中使用它,所以每次上传图像时都不想创建auth_id。为此,我需要这样的东西:

function test(){
  this.auth = "";
}

// Callback will execute when file-upload is finish
test.prototype.upload = function(file, callback) {
   if(this.auth == "") {
       /*** HERE I NEED HELP: ***/
       this.make_auth(this.upload(file,callback));
   }else{
     // Do upload and then
     callback();
   }
}

test.prototype.make_auth = function(callback) {
    // Make auth...
    this.auth = "01020312032";
    callback();
}

我想做什么: - 检查this.auth是否已设置 - 如果this.auth ==“”使用原始参数完成auth并再次调用upload-function

我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

变化:

this.make_auth(this.upload(_paramters));

类似于:

var self = this;
this.make_auth(function() { self.upload(_paramters); });

如果身份验证失败,您可能应该将err传递给make_auth中的回调。