Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在node.js中编写while循环_Javascript_Node.js_Asynchronous - Fatal编程技术网

Javascript 在node.js中编写while循环

Javascript 在node.js中编写while循环,javascript,node.js,asynchronous,Javascript,Node.js,Asynchronous,在c#中,我会这样做- double progress = 0; while (progress < 100) { var result = await PerformAsync(); progress = result.Progress; await Task.Delay(); } double progress=0; 而(进度

在c#中,我会这样做-

double progress = 0;
while (progress < 100) 
{ 
    var result = await PerformAsync(); 
    progress = result.Progress; 
    await Task.Delay(); 
} 
double progress=0;
而(进度<100)
{ 
var result=wait PerformAsync();
进度=结果。进度;
等待任务。延迟();
} 
一个很好的简单的7行代码。 node.js中的等效项是什么?
基本上需要一个while循环来检查一个条件,在满足该条件之前,休眠然后执行一些异步操作

正如您所猜测的,Node.js是一个javascript文件。因此,您可以使用javascript代码。但是关于你应该用什么,有一些不同意见。在埃克斯梅普;使用Node.js,您可以在运行时使用sync

var page = 2;
var last_page = 100;

(function loop() {
    if (page <= last_page) {
        request("/data?page=" + page, function (error, response, body) {
            if (!error && response.statusCode == 200) {
                store_data(body)
            }
            page++;
            loop();
        });
    }
}());
var-page=2;
var last_page=100;
(函数循环(){

如果(第页),请查看哪些方法有很多用于此类同步任务的方法。

当您以Node.js的方式思考时,会有一个基本的范式转变

正如在node中所写和所说的,“除了代码之外,所有的东西都是并行运行的”。JS是单线程的,因此如果你让线程休眠,所有东西都会阻塞

但是如果你以一种自然的方式对你的问题进行建模,那将是设计一个异步操作,它需要时间来运行,当它完成时,让它通知你同样的情况,而不是等待它完成

这样,您可以设计异步(performAsync)操作来发出事件,然后在事件发生时提供要执行的回调

因此,它更加紧凑和自然

performAsync().on('result',function cb () {// do what pleases you});

一般来说,当你对形式有疑问时

“我可以用语言
a
做一件事;我如何用语言
B
做这件事?”

检查。这是一个页面,提供不同语言类中某些术语和概念的摘要


该页面向您展示了如何在JS、Python、Ruby和PHP中使用a。

未来版本的JS中也有类似的概念,但仍然有其他库可供选择。您可以进一步了解它-您确定确实需要循环吗?为什么?