Lig*_*ica 26
当你有一个执行身份验证的函数但是异步执行身份验证时,它很有用.您无法直接从函数返回用户信息(因为您必须等待回调才能触发),因此您将返回一个承诺.这是一个特殊对象,充当异步请求完成时最终将填充用户信息的"占位符".
文档中的示例:
function (session, accessToken, extra, oauthUser) {
var promise = this.Promise();
asyncFindUser( function (err, user) {
if (err) return promise.fail(err);
promise.fulfill(user);
});
return promise;
}
Run Code Online (Sandbox Code Playgroud)
这意味着调用上下文可以继续进行工作直到它确实需要该用户信息(并且同时,异步请求正在完成); 如果用户信息尚不可用,则必须在稍后阶段等待.您可能会将其视为线程创建和加入的一个非常具体的案例.
" Promise "是一个通用术语,涵盖了各种语言和上下文中的这种功能:
在计算机科学中,未来,承诺和延迟是指在一些并发编程语言中用于同步的构造.它们描述了一个对象,该对象充当最初未知的结果的代理,通常是因为其值的计算尚未完成.
| 归档时间: |
|
| 查看次数: |
2600 次 |
| 最近记录: |