Ionic Cordova插件返回正确的结果On Promise错误

时间:2018-06-18 14:00:48

标签: ios objective-c cordova ionic3 cordova-plugins

我已安装twitter-connect cordova插件。

此插件有一个showUser()函数,可以向twitter api请求某些数据。

在ionic .ts文件中我有这样的东西:

this.tw.showUser().then((response: any) => {

    console.log(JSON.stringify(response));

  }).catch((error: Error) => {

    console.log(JSON.stringify(error));

  });

奇怪的是,返回的数据是正确的,但是在catch错误变量中捕获的数据。

所以promise会捕获错误,错误是正确的JSON对象!

我在插件的原生端搜索,一切都很好看:

if (error != nil) {
      pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:[error localizedDescription]];
    } else if (_httpStatus == 200) {
      NSDictionary *resultDict = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error];
      pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:resultDict];
    }

self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];  

(_httpStatus == 200)为真,pluginResult拥有正确的数据

我怀疑这部分代码有问题:

self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];    

但我无法在某处获得有用的错误。

0 个答案:

没有答案