出于学习目的,我想展示promises如何帮助解决JavaScript中数据库操作的时间依赖性。
所以,我想表明:
db.find(14);
实际上消耗了幕后的时间。
我如何说明这种时间依赖性以及Promises提供的可能解决方案?
到目前为止我所拥有的是:
// data store operation take time
function _findByUsername(username) {
var user = _.findWhere(Users, {username: username});
if (!user) {
Promise.reject(new Error("User not found."));
}
return Promise.resolve(user);
}
答案 0 :(得分:0)
选项可能是使用Bluebird的delay功能并添加注释,如下所示:
findByUsername(username) {
/* simulates the behavior of a database operation */
return Promise.delay(10).thenReturn(_.findWhere(Users, {username: username}))
}