Suggest moving this conditional to the top in order to simplify the logic.  A comment might also be useful here to communicate the desired behavior.

Something like:

```javascript
  // Allow user to override FB photo.  If a picture already exists, simply load it.
  if (contacts.List.hasPhoto(id)) {
    // ...

  // Otherwise try to display the FB photo.
  } else if (contacts.List.updatePhot(fbData, id)) {
    // ...
  } else {
    // ...
  }
```

Finally, I think for the `hasPhoto() === true` case `item.dataset.status` will be stuck as `'pending'`.  We might want to move the `item.dataset.status = 'loaded'` to occur unconditionally after the if-else statements.  If we do that, however, and the user deletes their locally saved photo then we won't load the FB image in its place until the app is restarted.  Perhaps we should clear `'item.dataset.status'` in this case instead?  What do you think?