首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Windows主机中可以异步调用JavaScript函数吗?

在Windows主机中可以异步调用JavaScript函数吗?
EN

Stack Overflow用户
提问于 2010-12-14 14:14:21
回答 2查看 1.7K关注 0票数 3

假设您在Windows主机(JScript)环境中有一个简单的函数:

代码语言:javascript
复制
function say(text) {
    WScript.Sleep(5000);
    WScript.Echo(text);
}

是否可以异步调用say()

注意:这种基于浏览器的方法,如setInterval()setTimeout,在WSH中是不可用的.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-14 14:36:17

不,Windows脚本主机不支持异步调用脚本函数。为了达到这个效果,您必须同时运行两个脚本:

代码语言:javascript
复制
// [main.js]
var oShell = new ActiveXObject("WScript.Shell");
oShell.Run(WScript.FullName + " say.js Hello");

WScript.Echo("Hello from main");
代码语言:javascript
复制
// [say.js]
WScript.Sleep(5000);
WScript.Echo(WScript.Arguments.Item(0));
票数 3
EN

Stack Overflow用户

发布于 2010-12-14 14:32:04

据我所知,在Windows (令人震惊的是)下没有与setTimeout / setInterval相媲美的东西。但是,您可能会发现this simple function queue in another answer here on SO是模拟它的一个有用的起点。基本上,这个家伙所做的(他的名字也是"TJ",但不是我)是创建一个函数队列,然后调用它的主循环作为您的主要方法。主循环在基于浏览器的实现中模拟心跳。很聪明,不过我会把名字改一点。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4440052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档