如何在Javascript中创建自定义异步函数?

问题描述 投票:0回答:1

我知道,要创建一个异步函数,我们只需要在里面调用一个异步函数,如 setTimeout() 并传递一个回调。

但是如何在不使用任何预制函数的情况下,在本地创建这样的函数呢?

我知道查询数据库的函数有一个异步行为,那么他们如何在不使用类似于 setTimeout() 在他们的原始实现中?

javascript node.js asynchronous async-await async.js
1个回答
1
投票

但是如何在不使用任何预建函数的情况下,在本地创建异步函数呢?

你不能这样做。

我知道查询数据库的函数有一个异步行为,在它们的原始实现中不使用类似setTimeout()的东西,它们如何做到这一点?

它们通常会使用网络或文件系统套接字连接到数据库,对于这些函数,有内置的异步函数(在收到响应时调用回调等),它们是建立在这些函数上的。

具体到node.js来说,当然也可以写一个 附加物 到引擎本身,向JavaScript环境提供这样一个 "原生异步 "函数。


0
投票

这样的函数通常不是写在 JavaScript。

它们通常是用与运行时引擎相同的编程语言编写的,然后插入到运行时引擎中,并暴露出 作为 一个JavaScript函数。

这就是为什么如果你要运行 XMLHttpRequest.toString() 在浏览器中,你会得到 "function XMLHttpRequest() { [native code] }" 而不是函数的实际代码。

© www.soinside.com 2019 - 2024. All rights reserved.