javascript - 如何使用 Promise 等待函数执行以等待其在 Javascript/Node JS 中的回调
问题描述
我有两个功能说async foo()
和bar()
可以说exe时间foo()
=> 5秒
exe时间 bar()
=> 10秒
代码看起来像
await foo();
async foo(){
//body
bar()
}
问题:
这里foo()
需要 5 秒来执行(主体部分)所以它返回一个成功的承诺,而无需等待执行bar()
完成
问题:
我如何确保foo()
仅在完成执行时返回一个承诺,bar()
可能使用承诺等待回调,bar()
但我不确定如何准确执行它
注意:不能将 bar 声明为异步,因为它是从其他模块导入的
解决方案
您可以aws-sdk
通过在方法后面附加 ; 来承诺服务的方法.promise
。
await foo();
foo(){
return ses.sendTemplatedEmail(params).promise();
}
或者
await foo();
async foo(){
try {
let res = await ses.sendTemplatedEmail(params).promise();
console.log(res)
}catch(err) {
console.log(err)
}
}
推荐阅读
- mysql - 如何识别mysql中相同列中具有相同值的行?而且我还必须为这些行添加条件
- sed - 如何使用 sed 不删除与模式匹配的整行
- rest - 什么是 FIND 调用请求?
- java - 使用 spark-submit 执行 spark/Scala jar 与使用 java -jar 执行 spark jar
- java - 如何为两个班级创建共享 ID 空间?
- python - PyInstaller 后运行 Kivy 时出错:pyi_rth_pkgres、wordcount.kv、无法获取窗口等
- android - 包括目录的CMake麻烦
- node.js - Angular 9 ng new myapp 给出错误原理图工作流程失败
- python - Pyodbc - Upsert 中的 SQL 注入
- android - 正确的 React Native Threads 捆绑发布