Iva*_*van 5 javascript settimeout es6-promise
我不明白为什么第一个 setTimeout 函数有效,但第二个却没有。当我运行第二个 setTimeout 时,第一个被注释掉。但不是在 3 秒后解决,而是立即解决。
我是整个“承诺”的新手,我正在研究的教程大量使用带有 setTimeout 的承诺。
let promise = new Promise( ( resolve, reject ) => {
/* why does setTimeout work with this one... */
setTimeout( () => resolve( 'Job\'s done!!!' ), 3000 );
/* but not with this one */
setTimeout( resolve('done'), 3000 );
} );
promise.then(
result => alert( result )
);Run Code Online (Sandbox Code Playgroud)
/* why does setTimeout work with this one... */
setTimeout( () => resolve( 'Job\'s done!!!' ), 3000 );
Run Code Online (Sandbox Code Playgroud)
当超时发生时,您会调用一个函数,该函数() => ...在执行时直到解决承诺
/* but not with this one */
setTimeout( resolve('done'), 3000 );
Run Code Online (Sandbox Code Playgroud)
在这里,您实际上解决了承诺(您执行结果函数)并将结果传递给 setTimeout 函数。
写作
() => resolve( 'Job\'s done!!!' )
Run Code Online (Sandbox Code Playgroud)
是相同的
function() {
resolve( 'Job\'s done!!!' );
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3479 次 |
| 最近记录: |