我已安装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];
但我无法在某处获得有用的错误。