javascript - Promise 构造函数是同步的吗?
问题描述
假设 Promise 构造函数中的代码包含同步赋值。我有这样的事情:
function x() {
let rejector = null;
new Promise((resolve, reject) => {
rejector = reject;
// async code follows - setTimeout, network requests, etc.
});
return rejector;
}
在本例中,Promise 构造函数中的同步代码是否保证在其包含函数的 return 语句之前执行?
到目前为止,对我来说,它每次都有效——typeof x() == 'function'
总是true
;但我觉得我只是碰巧赢得了一场比赛。我通过一个循环运行了 10^8 次,检查我是否曾经“输掉比赛”,但不,它总是成功的。这总是成立吗?
解决方案
推荐阅读
- angular - 更改 Angular NgIf 中的返回值
- facebook-graph-api - Graph API for group's jobs?
- c# - 交换字符串中的最后一个字符和第一个字符
- azure - Backup using Recovery Service vault of Azure file shares : ARM templates or inbuilt Policy
- azure - 过滤 ForEach 活动中的活动
- php - 如何在 PHP 中存储 cookie 以唯一标识无需登录的用户投票
- python - 重写相同的代码得到不同的结果
- pandas - © 而不是 é 保存在 utf-8 文件中
- python - 在 Pandas Dataframe 中查找具有特定值的连续数据周期,并将它们分组为子数据帧
- c++ - 如何在 C++ 中将十六进制字符串转换为文本数据