我正在接受Promises的速度,但有一件事我不明白。
所以,我们定义一个Promise,如下所示:
new Promise(/ * executor * / function(resolve,reject){...});
我的印象是,当情况成功解决时,我应该调用resolve。所以我试着这样做:
function resolve(number){
返回号码* 2;
}
var p = new Promise((resolve,reject)=> {
setTimeout(()=> resolve(5),1000);
});
p.then((doubledNumber)=> {
的console.log(doubledNumber); //预期:10,实际:5
});
所以似乎解决方案不是通常意义上的函数,它更像是像return一样的关键字。换句话说,当我调用resolve时,我只是指示程序传递我提供的任何值作为要解决的arg。
我的理解是否正确?