gpt4 book ai didi

javascript - 了解非阻塞 IO 示例

转载 作者:行者123 更新时间:2023-12-03 04:44:27 25 4
gpt4 key购买 nike

在阅读 Node.js 教程时,我遇到了 this page他们以“餐厅服务”为例解释了该场景。

阻塞IO中,他们有一个代码:

// requesting drinks for table 1 and waiting...
var drinksForTable1 = requestDrinksBlocking(['Coke', 'Tea', 'Water']);
// once drinks are ready, then server takes order back to table.
serveOrder(drinksForTable1);
// once order is delivered, server moves on to another table.

非阻塞IO中,他们将其更改为:

// requesting drinks for table 1 and moving on...
requestDrinksNonBlocking(['Coke', 'Tea', 'Water'], function(drinks){
return serveOrder(drinks);
});
  1. 据我了解,第二个代码也将花费相同的时间来执行,然后移至下一行代码。如何区分?

  2. 另外,如何编写“函数requestDrinksNonBlocking()”来处理数组['Coke', 'Tea', 'Water'],然后执行serveOrder 使用匿名函数。

请帮我理解这个场景。

最佳答案

在第一个示例中,执行 requestDrinksNonBlocking 并使用输出调用 serveOrder

在第二个示例中,requestDrinksNonBlocking 采用回调 (serveOrder),请求完成时将调用该回调

requestDrinksNonBlocking 实现示例

requestDrinksNonBlocking=function(drinks,callback){
//Handle request from the array {drinks}
callback(drinks);
}

关于javascript - 了解非阻塞 IO 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42926585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com