Ошибка типа undefined не является функцией - PullRequest
0 голосов
/ 10 декабря 2018

Привет! Я пытаюсь вызвать функцию, которая возвращает мне строку, и как только я получаю эту строку, я хочу выполнить какое-то действие.но я получаю сообщение об ошибке 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

Ответы [ 2 ]

0 голосов
/ 10 декабря 2018

Я не уверен, что функция encryptString должна быть асинхронной.Согласно crypto-js на github вы можете использовать toString() для возвращаемого значения и работать с результатом, как

  savePerishableTokenInSharedPrefs = ( token ) => {
    try {
       const encryptedToken = encryptString(token);
       //save the token
    } catch(e => {
      consoleLog('error -' + e);
    };
  }
0 голосов
/ 10 декабря 2018

Похоже, вы ожидаете, что encryptString вернет обещание, но на самом деле возвращает строку.

Попробуйте это:

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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...