【发布时间】:2019-10-28 15:35:11
【问题描述】:
此代码使用 Nativescript 插件
let power = require("nativescript-powerinfo");
power.startPowerUpdates(function (Info) {
console.log("battery charge: " + Info.percent + "%");
});
控制台日志:电池电量:100 %
我想将此 Info.percent 保存到一个变量中,以便以后可以重用它。
不幸的是,它总是说它未定义。我尝试了不同的方法。
喜欢:
var batterystatus = power.startPowerUpdates(function(Info){
return Info.percent;
}
或
power.startPowerUpdates(function(Info){
return Info.percent;
var batterystatus = power.startPowerUpdates(function);
或者我也试过了:
var batterystatus = power.startPowerUpdates(function(Info){
this.batterystatus = Info.percent
}
但几乎所有的结果都是错误的。
typeof(Info.percent) = number
【问题讨论】:
-
startPowerUpdates(...)是在自己的上下文中执行的回调。最后一个选项可行,但您必须保留上下文,您可以使用箭头函数来执行此操作。还要确保在 NgZone 中运行它。如果您是 JavaScript / TypeScript 新手,我建议您先了解基础知识。 -
旁注:有一个错字,
this.battterystatus = Info.percent带有三个“t”。不一定与主要问题有关。 -
我不明白为什么投反对票,这是一个完全可以接受的问题。
标签: javascript angular typescript nativescript