Javascript回调函数和回调中的参数。如何根据提供的代码段使用它?

时间:2016-07-11 13:16:27

标签: javascript

我正在阅读遗留代码库,我遇到了以下代码:

andThenWe: function(callback) {
      var qunitAssertAsync = new window.AssertAsync(callback);

      return qunitAssertAsync;
    },

以及呼叫网站:

  andThenWe(function(done) {
    ...(some code)
    done();
  });

因此,在通话网站中,我们会传入一个匿名函数,然后这将是===' callback'对?但是,这个回调有一个名为done的参数,似乎在这个函数的末尾被调用。那个参数有点像Ruby中的块参数吗?所以在window.assertAsync的某个地方,必须调用回调并传递某种类型的句子,这可能是对于Qunit的assert.async权利? (最有可能的)。 window.assertAsync的细节非常复杂,所以我只想在高层次上了解必须发生的事情。我做出了正确的假设吗?

这是可能的,因为函数签名中的callback是一个稍后调用的匿名函数吗?回调函数中的done本身在运行时也必须是一个函数吗?

1 个答案:

答案 0 :(得分:0)

我认为这是试图使qunit.async更具“可读性”(哈哈)。

qunit.async用于强制测试等到异步操作完成后再退出测试。

当测试的编写者知道所有异步已完成时,必须调用done回调。