javascript - 等待正常功能

标签 javascript node.js asynchronous async-await promise

是否可以等待一个不是 promise 的函数? 也许是一个不会失败的功能。

例如:

async function doWork() {
    const newData = await cannotFail();
    console.log("done: "+ newData);
}

function cannotFail() {
  var data = //cannot fail code . . .
    return data;
}

doWork();

我在想也许用另一种语法这个选项是有意义的。

最佳答案

考虑这两个例子

async function getData(){
  return "some data";
}

async function doSomething() {
  const data = await getData();
  console.log(data);
}

doSomething()

function getData(){
  return "some data";
}

async function doSomething(){
  const data = getData();
  console.log(data);
}

doSomething();

结果是完全一样的。仅当您想要等待 asnyc 函数(就像它是同步的)时,才使用 await。正常功能已经是同步的。

是的,可以在普通函数上使用await

function getData(){
  return 'some data';
}

async function doSomething(){
  const data = await getData();
  console.log(data);
 }
 
 doSomething();

没有理由这样做。

关于javascript - 等待正常功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68350809/

相关文章:

javascript - 在表格内设置分页符

javascript - 创建一个提交表单,使用其输入来确定链接

javascript - 如何在Django中设计分步表单?

node.js - 如何安装新的 nodejs 模块到 expressjs 项目?

javascript - 如何使用node js将对象数组插入到mysql中?

javascript - 如何将数据传递到 HighCharts 中的下一页?

javascript - 有条件地包括聚合管道阶段

c# - 异步/等待示例

c# - 通过工作线程的异步接口(interface)使用 WCF 服务,如何确保从客户端发送事件 "in order"

javascript - 如何从异步函数返回