1

我想知道 connect.js middelware 中 basicAuth 的异步和同步回调模式之间有什么区别。

我知道nodejs在一个单线程事件循环上,但是同步“回调”是一个回调函数,因此是异步的。所以我不明白有什么区别。

4

1 回答 1

0

在这两种情况下,您的回调实际上是由 同步调用的basicAuth,但在异步情况下,您将fn参数调用到回调以将结果传递回,basicAuth而不是从回调函数返回结果。

如此处的规范示例代码所示

// Sync case, where the callback function returns true/false
connect(
  connect.basicAuth(function(user, pass){
    return 'tj' == user & 'wahoo' == pass;
  })
);

// Async case, where User.authenticate uses an asynchronous call to determine the validity
// of the user, and fn is called by that function to deliver the true/false result back to
// basicAuth once the async call completes.
connect(
  connect.basicAuth(function(user, pass, fn){
    User.authenticate({ user: user, pass: pass }, fn);
  })
);
于 2012-11-19T03:27:26.740 回答