setTimeout(resolve('World'), ms); と setTimeout(resolve, ms, 'World'); の違いがわかりません。
setTimeout(resolve('World'), ms);
setTimeout(resolve, ms, 'World');
これが func() と func の違いです。 setTimeout の最初のパラメータは func() が使用される場合、その戻り値は最初のパラメータと同等です。 例:
次とほぼ同等:
関数名ではなく、渡された最初のパラメータがすぐに実行されます
と Promise无关,当你执行到setTimeout(resolve('World'), ms);时,浏览器就已经自动执行了resolve('World')、例:
Promise
resolve('World')
この時点ですぐに実行test。
test
(なぜ多くの人が理解できないのか)
setTimeout(resolve, ms, 'World'); 其中 resolve 是一个函数,因此这段的行为正常setTimeout(resolve('World'), ms); 其中 resolve('World') 不是函数,是什么决定于 resolve 的返回值类型,但无论如何,resolveタイマーを登録した時点ではすでに実行されているので、当然遅延効果はありません
resolve
====================================次の回答は無効です: 私はレビューしませんでした慎重に質問してください。 。 一般的には違いはありません。
ただ! ! ! !
IE ブラウザでの setTimeout(resolve, ms, 'World') のサポートに問題があります。 (IE
setTimeout(resolve, ms, 'World')
参考資料:(中の黄色背景のメモを参照)
WindowOrWorkerGlobalScope.setTimeout()
これが func() と func の違いです。 setTimeout の最初のパラメータは func() が使用される場合、その戻り値は最初のパラメータと同等です。
リーリー例:
次とほぼ同等:
リーリー関数名ではなく、渡された最初のパラメータがすぐに実行されます
と
リーリーPromise
无关,当你执行到setTimeout(resolve('World'), ms);
时,浏览器就已经自动执行了resolve('World')
、例:この時点ですぐに実行
test
。setTimeout の最初のパラメータは関数である必要があります
関数
関数
(なぜ多くの人が理解できないのか)
setTimeout(resolve, ms, 'World');
其中resolve
是一个函数,因此这段的行为正常setTimeout(resolve('World'), ms);
其中resolve('World')
不是函数,是什么决定于resolve
的返回值类型,但无论如何,resolve
タイマーを登録した時点ではすでに実行されているので、当然遅延効果はありません====================================
次の回答は無効です: 私はレビューしませんでした慎重に質問してください。 。
一般的には違いはありません。
ただ! ! ! !
IE ブラウザでの
setTimeout(resolve, ms, 'World')
のサポートに問題があります。 (IE参考資料:(中の黄色背景のメモを参照)
WindowOrWorkerGlobalScope.setTimeout()