From a6ff66f4a5cd21c6d8d1d4f1cc756f34ac909dbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A5=81=E5=8D=8E=E9=9C=B2?= Date: Wed, 10 May 2017 17:01:15 +0800 Subject: [PATCH 1/2] remove es6-promisify and better wrapApi function --- index.js | 34 ++++++++++++++-------------------- package.json | 5 +---- 2 files changed, 15 insertions(+), 24 deletions(-) diff --git a/index.js b/index.js index 5d1ca37..fd72e3a 100644 --- a/index.js +++ b/index.js @@ -3,36 +3,30 @@ */ import {NativeModules, NativeAppEventEmitter} from 'react-native'; -import promisify from 'es6-promisify'; const {WeiboAPI} = NativeModules; -// Used only with promisify. Transform callback to promise result. -function translateError(err, result) { - if (!err) { - return this.resolve(result); - } - if (typeof err === 'object') { - if (err instanceof Error) { - return this.reject(ret); - } - return this.reject(Object.assign(new Error(err.message), { errCode: err.errCode })); - } else if (typeof err === 'string') { - return this.reject(new Error(err)); - } - this.reject(Object.assign(new Error(), { origin: err })); -} - function wrapApi(nativeFunc) { if (!nativeFunc) { return undefined; } - const promisified = promisify(nativeFunc, translateError); return (...args) => { - return promisified(...args); + return new Promise((resolve, reject) => { + nativeFunc.apply(null, [ + ...args, + (error, result) => { + if (!error) { + return resolve(result); + } + if (typeof error === 'string') { + return reject(new Error(error)); + } + reject(error); + }, + ]); + }); }; } - // Save callback and wait for future event. let savedCallback = undefined; function waitForResponse(type) { diff --git a/package.json b/package.json index 5bc592b..a184b35 100644 --- a/package.json +++ b/package.json @@ -24,8 +24,5 @@ "bugs": { "url": "https://github.com/reactnativecn/react-native-weibo/issues" }, - "homepage": "https://github.com/reactnativecn/react-native-weibo#readme", - "dependencies": { - "es6-promisify": "^3.0.0" - } + "homepage": "https://github.com/reactnativecn/react-native-weibo#readme" } From 5f8e829ed4f84440938e06ca3b1971f88b916b03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A5=81=E5=8D=8E=E9=9C=B2?= Date: Wed, 10 May 2017 17:07:53 +0800 Subject: [PATCH 2/2] upgrade package version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a184b35..da00089 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-weibo", - "version": "3.0.4", + "version": "3.0.5", "description": "新浪微博登录、分享模块", "main": "index.js", "scripts": {