javascript - 如何处理 Javascript 异步

标签 javascript react-native asynchronous

这是我的代码

encrypt(plaintxt){
    const secretKey = '12456780123456';
    const iv = "124567890123456";

    let a = "awal";
    AesCrypto.encrypt(plaintxt,secretKey,iv).then(cipher=>{
        a = cipher;
    }).catch(err=>{
        a = err;
    });
    return a;
}

如何在 AesCrypto.encrypt 函数中设置变量 a 的值?谢谢。

最佳答案

AesCrypto.encrypt() 是异步的,这意味着如果你想从你的 encrypt() 返回 a 的值使用您在上面定义的结构函数,那么您需要像这样 define it as an asynchronous function:

/* Declare the function as asynchronous with async keyword */
function async encrypt(plaintxt){
    const secretKey = '124567980123456';
    const iv = "1234567890123456";


    /* Create a promoise and wait for it to complete (or fail)
    using the await keyword */
    const a = await (new Promise((resolve, reject) => {

        /* Resolve or reject the promise by passing the handlers
        to your promise handlers */
        AesCrypto.encrypt(plaintxt,secretKey,iv)
        .then(resolve)
        .catch(reject);
    }))

    return a;
}

关于javascript - 如何处理 Javascript 异步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55056601/

相关文章:

c++ - 异步 winsock 服务器包装器,CPU 滞后 - C++

javascript - 更改 amCharts 的标签样式

javascript - 无法从 React-Native-Firebase(v6) Firestore : undefined is not a function (near '...this._firestore.native.collectionGet...' ) 获取数据

javascript - 正则表达式用于删除js中的css规则

reactjs - react-native run-android 和 expo start 之间有什么区别?

react-native - 无法解析模块 `./../../react-transform-hmr/lib/index.js`

c# - BuildSessionFactory 上的 NHibernate NullReferenceException

javascript - JS 中的链式异步函数调用?

JavaScript 与 NaN 的问题

javascript - 无法加载位于我的计算机上的 JSON 文件