1

出于学习目的,我想展示 Promise 如何帮助解决 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);
  }
4

1 回答 1

0

一个选项可能是使用 Bluebird 的延迟功能并添加如下注释:

findByUsername(username) { 
   /* simulates the behavior of a database operation */
   return Promise.delay(10).thenReturn(_.findWhere(Users, {username: username}))
 }
于 2014-04-24T10:19:43.387 回答