我想知道connect.js中间件中basicAuth的异步和同步回调模式之间有什么区别。
我知道nodejs在单线程事件循环中,但是synch“回调”是一个回调函数,因此是异步的。所以我不明白有什么区别。
最佳答案
在这两种情况下,您的回调实际上都是由basicAuth
同步调用的,但是在异步情况下,您可以对回调调用fn
参数,以将结果传递回basicAuth
,而不是从回调函数返回结果。
如规范示例代码from here中所示。
// 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);
})
);
关于javascript - Express basicAuth:异步与同步,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13446868/