0
我想知道js承诺如何在内部工作。JS Promises如何在内部工作?
我google了,但我找不到答案(或者我不知道如何谷歌)。
我不知道它是如何回到你身边的。
比方说我有这样的客户端代码:
function whatever() {
doSomethingLocally;
callPromiseThatGoesAllOverTheWorldAndThenGetsBackToYou()
.then(
doSomethingLocallyAgain
);
doSomeOtherThingLocally;
}
我想知道怎么回事,许被满足时,它就会回到正确的点代码(即“doSomethingLocallyAgain”)。
尽管规范[描述他们如何_](http://www.ecma-international.org/ecma-262/6.0/#sec-promise-objects),他们实际上在内部是如何工作的规范的实现者(即JavaScript引擎)。是否有一个你问这个问题的根本原因,或许这可能是一个更好的问题? –
我在问这个,因为我不知道流程是如何回到那一点。 我不知道是否有一个套接字一直在用指针监听某个东西,所以当它接收到响应时,它会将流程改变为该点。 –
'doSomethingLocallyAgain'必须是一个函数。您正在将该函数传递给promise,并在完成后简单地调用该函数。没有什么神奇的。这里是回调函数的简化示例:'function do(f){setTimeout(()=> {/ *做一些内部的东西*/f();},3000); }; (()=> console.log('call me maybe'));'。在这个例子中,'do'接受一个函数并在准备就绪时调用它。 –