Javascript 承诺构造函数是同步的吗?
假设承诺构造函数中的代码包含同步赋值。我有这样的想法:Javascript 承诺构造函数是同步的吗?,javascript,es6-promise,Javascript,Es6 Promise,假设承诺构造函数中的代码包含同步赋值。我有这样的想法: function x() { let rejector = null; new Promise((resolve, reject) => { rejector = reject; // async code follows - setTimeout, network requests, etc. }); return rejector; } 在本例中,承诺构造函数中的同
function x() {
let rejector = null;
new Promise((resolve, reject) => {
rejector = reject;
// async code follows - setTimeout, network requests, etc.
});
return rejector;
}
在本例中,承诺构造函数中的同步代码是否保证在其包含函数的返回语句之前执行
到目前为止,对我来说,它每次都有效-
typeof x()==“function”
总是true
;但我觉得我只是碰巧赢得了一场比赛。我跑了10^8圈,看看我是否“输掉了比赛”,但没有,它总是成功的。这是否始终有效?拒绝程序
保证设置为拒绝
。请注意,您在那里所做的操作(将拒绝
传递到承诺回调范围之外)被视为反模式。