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