setTimeout(resolve('World'), ms);
与 setTimeout(resolve, ms, 'World');
의 차이점에 대해 혼란을 표현했습니다.
習慣沉默2017-06-12 09:23:50
func()와 func의 차이점입니다. setTimeout의 첫 번째 매개변수는 func입니다. 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()