can you do a simple function that would do only the "getItem" call and return a promise with the result? You can call it `getUsageSilentSms`:
```javascript
function getUsageSilentSms() {
  return new Promise(function(resolve, reject) {
    asyncStorage.getItem('usageSilentSms', function(usageSilentSms) {
      resolve(usageSilentSms || {});
    });
  });
}
```

 That would help having 2 separate functions for 2 separate things: one that gets the value, and another that does the handling.

FYI I filed https://bugzilla.mozilla.org/show_bug.cgi?id=1018953 to make asyncStorage return a promise directly, but sadly it's not the case yet.