小编ine*_*bug的帖子

在Swig模板中测试空变量

在枝条本人具有操作员与测试空变量(字符串或阵列):

{% if info is empty %}
    ...
{% endif %}
Run Code Online (Sandbox Code Playgroud)

我如何在Swig模板中做这样的事情?

swig-template

6
推荐指数
1
解决办法
3433
查看次数

JavaScript承诺和if/else语句

当我使用filemanager函数的目录(/)代码运行良好,但当我调用file(/index.html)代码返回错误.

我看到if/else语句中的问题(readdir即使isDir返回也会运行false),但我不知道如何正确地将它与promises一起使用.

var fs = require('fs'),
    Q = require('q'),
    readdir = Q.denodeify(fs.readdir),
    readFile = Q.denodeify(fs.readFile);

function isDir(path) {
    return Q.nfcall(fs.stat, __dirname + path)
        .then(function (stats) {
            if (stats.isDirectory()) {
                return true;
            } else {
                return false;
            }
        });
}

function filemanager(path) {
    if (isDir(path)) {
        return readdir(__dirname + path)
            .then(function (files) {
                return files.map(function (file) {
                    return ...;
                });
            })
            .then(Q.all);
    } else {
        return readFile(__dirname + path, …
Run Code Online (Sandbox Code Playgroud)

javascript if-statement node.js promise q

5
推荐指数
1
解决办法
3216
查看次数

在JavaScript中使forEach异步

我正在尝试理解异步编程Node.js但在此代码上停滞不前.

它们的回调中的这个函数返回一个目录中的文件数组:

function openDir(path, callback) {
    path = __dirname + path;
    fs.exists(path, function (exists) {
        if (exists) {
            fs.readdir(path, function (err, files) {
                if (err) {
                    throw err;
                }
                var result = [];
                files.forEach(function (filename, index) {
                    result[index] = filename;
                });
                return callback(result);
            });
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

但是当我在里面使用异步代码时.forEach,它什么都不返回:

function openDir(path, callback) {
    path = __dirname + path;
    fs.exists(path, function (exists) {
        if (exists) {
            fs.readdir(path, function (err, files) {
                if (err) {
                    throw err;
                }
                var result = …
Run Code Online (Sandbox Code Playgroud)

javascript foreach asynchronous node.js

2
推荐指数
1
解决办法
684
查看次数

在示例中使用带有Node.js函数的promise

我开始学习JavaScript承诺,但我无法理解如何将Q函数应用于Node.js回调函数.

在类似的问题建议使用Q.denodeify(),但它适用于fs.readFile()和不适用fs.exists().

这是一个简单的函数,它返回文件列表及其在目录中的大小:

function openDir(path, callback) {
    path = __dirname + path;
    fs.exists(path, function (exists) {
        if (exists) {
            fs.readdir(path, function (err, files) {
                if (err) {
                    throw err;
                }
                var filesCounter = 0,
                    filesTotal = files.length,
                    result = [];
                files.forEach(function (filename, index) {
                    fs.stat(path + filename, function (err, stats) {
                        if (err) {
                            throw err;
                        }
                        result[index] = {};
                        result[index].name = filename;
                        result[index].size = stats.size;
                        if (++filesCounter === filesTotal) {
                            callback(result);
                        } …
Run Code Online (Sandbox Code Playgroud)

javascript node.js promise q

2
推荐指数
1
解决办法
5508
查看次数

使用Node.js自动将文本写入控制台

我需要使用SSH和Node.js脚本克隆GitHub存储库:

var exec = require('child_process').exec;

exec('git clone git@github.com:jquery/jquery.git',
    function (error, stdout, stderr) {
        console.log('stdout: ' + stdout);
        console.log('stderr: ' + stderr);
        if (error !== null) {
            console.log('exec error: ' + error);
        }
    }
);
Run Code Online (Sandbox Code Playgroud)

如果github.com不在known_hosts文件中,则SSH强制在"您确定要继续连接(是/否)"问题上输入"是"吗?

如何自动输入此文本?

PS我知道StrictHostKeyChecking=no,但我需要克隆存储库而不更改SSH配置.

ssh console automation node.js

2
推荐指数
1
解决办法
1442
查看次数

JavaScript或Node.js意外地对对象进行排序

当我运行此代码时 node app.js

'use strict';

var data = {"456":"First","789":"Second","123":"Third"};

console.log(data);
Run Code Online (Sandbox Code Playgroud)

我正在考虑下一个结果:

{ '123': 'Third', '456': 'First', '789': 'Second' }
Run Code Online (Sandbox Code Playgroud)

为什么JS或Node.js(我不知道是谁)按键对这个对象排序?我不想要这个.

javascript sorting object node.js

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