Skip to content
This repository was archived by the owner on May 20, 2025. It is now read-only.

Commit 0798cd9

Browse files
author
Will Anderson
committed
Convert checkForUpdate to return a promise
1 parent 81fef19 commit 0798cd9

File tree

3 files changed

+25
-17
lines changed

3 files changed

+25
-17
lines changed

CodePush.ios.js

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -48,20 +48,27 @@ var getSdk = (() => {
4848
})();
4949

5050
function checkForUpdate(callback) {
51-
getConfiguration().then(function(configuration) {
52-
getSdk.then(function(sdk) {
53-
NativeCodePush.getLocalPackage(function(err, localPackage) {
54-
var queryPackage = {appVersion: configuration.appVersion};
55-
if (!err && localPackage && localPackage.appVersion === configuration.appVersion) {
56-
queryPackage = localPackage;
57-
} else if (err) {
58-
console.log(err);
59-
}
51+
var config;
52+
var sdk;
53+
return getConfiguration()
54+
.then((configResult) => {
55+
config = configResult;
56+
return getSdk();
57+
})
58+
.then((sdkResult) => {
59+
sdk = sdkResult;
60+
return NativeCodePush.getLocalPackage();
61+
})
62+
.then((localPackage) => {
63+
var queryPackage = {appVersion: config.appVersion};
64+
if (localPackage && localPackage.appVersion === config.appVersion) {
65+
queryPackage = localPackage;
66+
} else if (err) {
67+
console.log(err);
68+
}
6069

61-
sdk.queryUpdateWithCurrentPackage(queryPackage, callback);
62-
});
70+
sdk.queryUpdateWithCurrentPackage(queryPackage, callback);
6371
});
64-
});
6572
}
6673

6774
function download(updatePackage) {

CodePush.m

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,8 @@ + (void) loadBundle:(NSString*)rootComponent
189189
}
190190

191191

192-
RCT_EXPORT_METHOD(getLocalPackage: (RCTResponseSenderBlock)callback)
192+
RCT_EXPORT_METHOD(getLocalPackage:(RCTPromiseResolveBlock)resolve
193+
rejecter:(RCTPromiseRejectBlock)reject)
193194
{
194195

195196
NSString *path = [CodePush getPackagePath];
@@ -199,17 +200,17 @@ + (void) loadBundle:(NSString*)rootComponent
199200
NSError* readError;
200201
NSString *content = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&readError];
201202
if (readError) {
202-
callback(@[RCTMakeError(@"Error finding local package ", readError, [[NSDictionary alloc] initWithObjectsAndKeys:path,@"packagePath", nil]), [NSNull null]]);
203+
reject(readError);
203204
} else {
204205
NSError * parseError;
205206
NSData *data = [content dataUsingEncoding:NSUTF8StringEncoding];
206207
NSDictionary* json = [NSJSONSerialization JSONObjectWithData:data
207208
options:kNilOptions
208209
error:&parseError];
209210
if (parseError) {
210-
callback(@[RCTMakeError(@"Error parsing contents of local package ", parseError, [[NSDictionary alloc] initWithObjectsAndKeys:path,@"packagePath", nil]), [NSNull null]]);
211+
reject(parseError);
211212
} else {
212-
callback(@[[NSNull null], json]);
213+
resolve(json);
213214
}
214215
}
215216
});

Examples/CodePushDemoApp/index.ios.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ var CodePushDemoApp = React.createClass({
2222
this.fetchData();
2323
},
2424
fetchData: function() {
25-
CodePush.checkForUpdate((err, update) => {
25+
CodePush.checkForUpdate().done((update) => {
2626
this.setState({ update: update });
2727
});
2828
},

0 commit comments

Comments
 (0)