当前位置: 首页 > 知识库问答 >
问题:

JavaScript/NodeJS中的这个语句是什么意思?就=>运算符和异步的重要性而言,这里的await关键字?[副本]

龙承德
2023-03-14

(1)这显然是散列密码的代码。然而,它在句法上到底做什么呢?为什么它使用异步并以这种方式等待?而=>似乎没有定义函数。

async function agentname() { 
  // ...
  return an_array;
}

let data = agentname();
console.log("in callback. data is " + data);
in callback. data is [object Promise]

共有1个答案

万俟财
2023-03-14

这显然是散列密码的代码。然而,它在句法上到底做什么呢?为什么它使用异步并以这种方式等待?而=>似乎没有定义函数

它确实定义了一个函数,并为该函数分配hashpassword。和这个是一回事:

const hashPassword = async function( password ) {
    return await bcrypt.hash( password, 10 );
};

...或者是这样(为了明确起见):

const hashPassword = async function( password ) {
    const hashedPassword = await bcrypt.hash( password, 10 );
    return hashedPassword;
};
async function hashPassword( password ) {
    const hashedPassword = await bcrypt.hash( password, 10 );
    return hashedPassword;
}
function hashPassword( password ) {
    return new Promise( ( res, rej ) => bcrypt.hash( password, 10 ).then( h => res( h ) )
}
async function foo() {
    const v = await anotherAsyncFunction();
    return v;
}

function foo() {
    return new Promise( function(resolve,reject) {
        anotherAsyncFunction().then( v => resolve( v ) );
    } );
}

当函数返回promise can时,您可以awaitt,或者使用then函数。

请参见:如何使用async-await from函数从异步函数返回值?

 类似资料:
  • 问题内容: 除了标准,,和运营商; 但什么是这些均值(,,,)? 又如何操作? in返回正常的余数模量,但是仅当,为什么会这样?怎么办? 又如何操作?它有什么作用? 问题答案: :求幂 :异或(按位) :模数 :除以积分结果(舍弃余数)

  • 问题内容: 我正在阅读Drools Planner示例,并且遇到了很多这样的代码: 据我所知,它应该初始化一个长度为n的列表,该列表存储数据类型。 但是,在表达式的两侧具有 不同的集合数据类型 该怎么办? 如果类型与匹配 ,则与执行操作有何不同: 问题答案: 是一个接口。您无法创建接口实例。 是实现List的类,您可以创建一个。 接口仅定义行为。一个实现和接口实现该行为的类。 您将注意到,如果您查

  • 问题内容: 这是什么? 这是不时出现的关于JavaScript语法的问题的集合。这也是社区Wiki, 因此邀请所有人参与维护此列表。 为什么是这样? 堆栈溢出不允许搜索特定字符。结果,在搜索运算符和其他语法标记时,不容易找到许多问题。这也使得关闭重复项变得更加困难。下面的列表可以帮助解决此问题。 主要思想是链接到Stack Overflow上的现有问题,因此我们更容易引用它们,而不是复制ECMAS

  • 我是Typescript和JavaScript的初学者,试图理解代码。我在代码中的几个地方遇到“<>”,如下例所述。 为什么我们在Typescript中使用“<>”。 谢谢

  • 我不理解如何使这段代码在Java7中工作 这个符号在Java中到底是什么意思? 如果Java7不支持它,如何改变它,使它能够正常工作。