【发布时间】:2018-07-02 17:42:02
【问题描述】:
当我在 cmd cordova run android 中执行时,它返回:
Android Studio project detected
(node:6824) UnhandledPromiseRejectionWarning: Unhandled Promise Rejection (rejection id: 1): Operation Failed
(node: 6824) [DEP0018] DeprecationWarning: Unhandled Promise Rejections are deprecated. In the future, promise rejections
that are not handled will terminate the node.js process with a non-zero exit code.
我不明白这个问题,如果你对我有任何建议。我已经在stackoverflow上阅读了这个问题的其他一些答案,但是.. 这是我下面的代码
module.exports = function(ctx) {
// make sure android platform is part of build
if (ctx.opts.platforms.indexOf('android') < 0) {
return;
}
var fs = ctx.requireCordovaModule('fs'),
path = ctx.requireCordovaModule('path'),
deferral = ctx.requireCordovaModule('q').defer();
var platformRoot = path.join(ctx.opts.projectRoot, 'platforms/android');
var apkFileLocation = path.join(platformRoot, 'build/outputs/apk/android-debug.apk');
fs.stat(apkFileLocation, function(err,stats) {
if (err) {
deferral.reject('Operation failed');
} else {
console.log('Size of ' + apkFileLocation + ' is ' + stats.size +' bytes');
deferral.resolve();
}
});
return deferral.promise;};
感谢您的帮助。
【问题讨论】:
-
不要只用“操作失败”来拒绝
defarral,而是尝试传入err对象以获取错误消息。试试deferral.reject('Operation failed: ' + err);或deferral.reject('Operation failed: ' + JSON.stringify(err));
标签: javascript android angularjs angular cordova