小编Bhu*_*oel的帖子

nodeJs回调简单的例子

任何人都可以给我一个nodeJs回调的简单例子,我已经在很多网站上搜索过相同但不能正确理解它,请给我一个简单的例子.

getDbFiles(store, function(files){
    getCdnFiles(store, function(files){
    })
})
Run Code Online (Sandbox Code Playgroud)

我想做那样的事......

javascript asynchronous callback asynccallback node.js

113
推荐指数
4
解决办法
22万
查看次数

为什么我们更喜欢在角度而不是$ http中使用$ q

我目前正在使用angular的$ q服务来进行API调用,如下所示:

var deferred = $q.defer();
$http.get(config.apiHost + details.url)
    .success(function (data) {
        deferred.resolve(data);
    }).error(function (msg) {
        deferred.reject(msg);
    });
return deferred.promise;
Run Code Online (Sandbox Code Playgroud)

但是我们也可以在不使用$ q的情况下使用这种方法:

return $http.get(config.apiHost + details.url)
    .success(function (data) {
        return data;
    }).error(function (msg) {
        return msg;
    });
Run Code Online (Sandbox Code Playgroud)

并且当$ http本身返回承诺时,我也可以使用更简化的方法:

$http.get(config.apiHost + 'posts')
        .success(function (data) {
            console.log(data)
        }).error(function (msg) {
            console.log(msg);
        });
Run Code Online (Sandbox Code Playgroud)

那么所有这些特别是在$ q和$ http之间有什么区别,因为两者都返回promise并且都是异步的?angular是否为$ q提供了一些额外的功能?我找不到任何好的答案.

javascript angularjs angularjs-http angular-promise

13
推荐指数
2
解决办法
2259
查看次数

使用aws-sdk使用nodejs将图像上传到s3

我想将图像上传到亚马逊网络服务器,为此我使用带有nodejs的aws-sdk.

我能够将图像上传到s3存储桶,但是当我点击URL访问它们时,我得到访问被拒绝错误.

这是我的配置

     var AWS = require('aws-sdk');

     //aws credentials
     AWS.config = new AWS.Config();
     AWS.config.accessKeyId = "<access_key>";
     AWS.config.secretAccessKey = "<secret_key>";
     AWS.config.region = "ap-southeast-1";
     AWS.config.apiVersions = {
        "s3": "2006-03-01"
     }

    var s3 = new AWS.S3();

    var bodystream = fs.createReadStream(req.files.pic.path);

    var params = {
        'Bucket': '<bucket_name>',
        'Key': 'uploads/images/' + req.files.pic.name,
        'Body': bodystream,
        'ContentEncoding': 'base64', 
        'ContentType ': 'image/jpeg'
     };

     //also tried with s3.putObject
     s3.upload(params, function(err, data){
        console.log('after s3 upload====', err, data);
     }) 
Run Code Online (Sandbox Code Playgroud)

图像上传成功但其内容类型为application/octet.另外我认为存在一些权限问题,因为当我添加新权限时,我可以下载图像但无法看到它.

你能告诉我这个配置有什么问题吗?我想知道s3.upload和s3.putObject方法之间的区别.

amazon-s3 amazon-web-services node.js

10
推荐指数
1
解决办法
6365
查看次数

如何在线性时间内按绝对值对排序数组进行重新排序?

您将获得一个包含负值和正值的排序数组.采用负数绝对值的阵列.你的复杂性应该是O(n)

样本输入

[-8, -5, -3, -1, 3, 6, 9]
Run Code Online (Sandbox Code Playgroud)

预期产出

[ -1, -3, 3, -5, 6, -8, 9 ]
Run Code Online (Sandbox Code Playgroud)

到目前为止我已经这样做了,但输出不正确.

function sortMe(input) {
   var newArr = [];
   for (var i = 0; i < input.length; i++) {
     var value = Math.abs(input[i]);
     newArr.push(value);
   }
   var c = newArr.sort()
}
Run Code Online (Sandbox Code Playgroud)

它正在提供输出

[ 1, 3, 3, 5, 6, 8, 9 ]
Run Code Online (Sandbox Code Playgroud)

javascript arrays sorting

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