Javascript 在node.js中编写while循环
在c#中,我会这样做-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; 而(进度
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中也有类似的概念,但仍然有其他库可供选择。您可以进一步了解它-您确定确实需要循环吗?为什么?