javascript - 让 promise 在返回前等待几秒钟

标签 javascript node.js express promise

我有一个返回 promise 的函数。在这个函数中,我们调用第三方 vendor 通过他们的服务器发送一些推送通知。

看起来像

apiGetLoggedInUser.then(
  user => {
    return sendMessage(user.name);
  }
)

然而,我们决定等待 3 秒,然后才真正调用此 sendMessage 函数。但是,我们不希望更改 sendMessage,因为它已提供。

我想知道在这种情况下如何真正执行“等待”部分,因为 promise 用于删除“同步”操作。

我理解正确吗?我该怎么办?

最佳答案

简短版本:

function wait(milliseconds) {
  return new Promise(resolve => setTimeout(resolve, milliseconds));
}

例子:

async function myFunc(user) {
  await wait(3000);

  sendMessage(user.name);
}

关于javascript - 让 promise 在返回前等待几秒钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42529476/

相关文章:

javascript - 带 Handlebars 的 nodemailer 无法正确显示样式

node.js - Azure移动服务,如何仅更新或忽略更新某些列

javascript - Socket.IO Node.JS 客户端显示变量。

node.js - express-js 服务器中损坏的 HTTPS SSL (net::ERR_CERT_COMMON_NAME_INVALID)

javascript - 在 express 中将新的 select2 选项标签写入本地数据库

javascript - 根据填充的其他输入动态生成选择输入 'required'

javascript - 查找两个日期之间的星期日数,如果星期日位于两个日期之间,则减去星期日

javascript - 如何使用 fetch 发送数组? (JavaScript)

javascript - 基于onclick事件切换状态

javascript - 在 ng-repeat 内部时,移动 Angular UI 选项卡样式未应用