嗨,我正在尝试调用一个函数,该函数返回一个String,一旦获得该字符串,我想执行一些操作。但出现错误TypeError: undefined is not a function (evaluating'(0, _cryptoUtil.encryptString) (token).then
this.savePerishableTokenInSharedPrefs(res.perishableToken);
savePerishableTokenInSharedPrefs = ( token ) => {
const returned = encryptString(token).then((encryptedToken) => {
//save the token
})
.catch(err => {
consoleLog('error -' + err);
});
}
cryptoUtils.js
export function encryptString (encryptMe) {
var CryptoJS = require("crypto-js");
// Encrypt
var encryptedText = CryptoJS.AES.encrypt(encryptMe, globals.ENCRYPTION_KEY);
consoleLog('encryptString - ' + encryptedText + ' pin - ' + encryptMe );
return encryptedText;
}
我在这里错过了基本的东西吗?。
谢谢 R
答案 0 :(得分:0)
似乎您期望encryptString
返回一个Promise,但实际上是返回一个字符串。
尝试一下:
export function encryptString (encryptMe) {
var CryptoJS = require("crypto-js");
// Encrypt
var encryptedText = CryptoJS.AES.encrypt(encryptMe, globals.ENCRYPTION_KEY);
consoleLog('encryptString - ' + encryptedText + ' pin - ' + encryptMe );
return Promise.resolve(encryptedText);
}
答案 1 :(得分:0)
我不确定encryptString
函数应该是异步的。根据{{3}},您可以在返回值上使用toString()
并使用类似结果
savePerishableTokenInSharedPrefs = ( token ) => {
try {
const encryptedToken = encryptString(token);
//save the token
} catch(e => {
consoleLog('error -' + e);
};
}