Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 承诺构造函数是同步的吗?_Javascript_Es6 Promise - Fatal编程技术网

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圈,看看我是否“输掉了比赛”,但没有,它总是成功的。这是否始终有效?

拒绝程序
保证设置为
拒绝
。请注意,您在那里所做的操作(将
拒绝
传递到承诺回调范围之外)被视为反模式。