gpt4 book ai didi

javascript - 我在 Ionic 中得到一个 undefined variable ,我不知道为什么?

转载 作者:行者123 更新时间:2023-11-28 17:16:05 25 4
gpt4 key购买 nike

我正在尝试在 Ionic 中加密和解密简单的文本。这是我的代码:

encryptedData : any;

encryptData(data){
this.aes
.encrypt(this.secureKey, this.secureIV, data)
.then(res => {
console.log("Encrypted Data: " + res);
this.encryptedData = res;
})
.catch(err => {
console.log("Error encrypting data: " + err);
});
}

数据是一个简单的纯文本,并且正如我从日志中看到的那样,它被加密了:

enter image description here

然而,在设置 (res) 数据后,变量 encryptedData 变为 null。我可能做错了什么?

最佳答案

欢迎来到 JavaScript 中“this”的世界。

箭头函数绑定(bind)到执行上下文 - 在此示例中,它将使用来自 Promise 内部的某种“this”来调用。

您可以通过使用常规函数与“bind(...)”结合来强制调用上下文。

请看一下下面的示例。

Promise
.resolve("new value")
.then((res) => {
this.myProp = res;
});

不会工作,但是这个:

Promise
.resolve("new value")
.then(function(res){
this.myProp = res;
}.bind(this));

会的。

看看这个 jsfiddle 它重现了你的问题(打开浏览器的开发工具来查看控制台输出) https://jsfiddle.net/mg7pjLz0/4/

关于javascript - 我在 Ionic 中得到一个 undefined variable ,我不知道为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53482422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com