小编Mat*_*ful的帖子

如何绕过异步Node.js行为?

我正在编写一个ping网站的脚本,并在Web UI中返回结果.但是,我遇到了一个问题,我正试图找出最佳解决方案.

这段代码需要返回一个状态数组,但是由于Node.js的异步行为,它返回一个空数组,因为代码需要时间来执行.

这是我有的:

var ping = require('ping');

function checkConnection(hosts) {

    var results = [];

    hosts.forEach(function (host) {
        ping.sys.probe(host, function (isAlive) {
            results.push({"host": host, "status": isAlive});
        });
    });

    return {results: results, timestamp: new Date().getTime()};
}

module.exports.checkConnection = checkConnection;
Run Code Online (Sandbox Code Playgroud)

我知道你可以用定时器解决这个问题,但这里的简单和最理想的解决方案是什么?

javascript asynchronous node.js

0
推荐指数
1
解决办法
942
查看次数

使用VBA输入盒进行错误处理的奇怪流程?

我试图理解为什么下面的代码没有给我预期的行为.

我想问用户一个十进制数(双).我有一个错误处理程序,但这个程序的行为方式,当我输入一个单词或数字时,它仍然会抛出错误.当我没有放任何东西(空输入)时它会捕获错误.

当我删除if条件时,它将按预期工作,但我不知道如何捕获空用户输入.

任何想法将不胜感激!

Sub MainTask()

Dim userInput As Double

TryAgain:
    On Error GoTo ErrorHandler
    userInput = InputBox("What is the amount purchased you would like to search for? ($)")
    If Len(userInput) = 0 Then
        Exit Sub
    End If
    MsgBox "You have entered a valid value!"
Exit Sub

ErrorHandler:
MsgBox "Please enter a valid value."
GoTo TryAgain

End Sub
Run Code Online (Sandbox Code Playgroud)

vb6 excel vba excel-vba

0
推荐指数
1
解决办法
471
查看次数

标签 统计

asynchronous ×1

excel ×1

excel-vba ×1

javascript ×1

node.js ×1

vb6 ×1

vba ×1