Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.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 DynamoDB API节点,是否可以同步获得结果?_Javascript_Node.js_Asynchronous_Amazon Dynamodb_Aws Lambda - Fatal编程技术网

Javascript DynamoDB API节点,是否可以同步获得结果?

Javascript DynamoDB API节点,是否可以同步获得结果?,javascript,node.js,asynchronous,amazon-dynamodb,aws-lambda,Javascript,Node.js,Asynchronous,Amazon Dynamodb,Aws Lambda,我知道正常的做事方式是 db.query(params, callback); 但是我怎么能做这样的事情呢 var data = db.query(params); 如果lambda的其余部分在我得到结果之前无法执行,它是否可以在没有所有回调的情况下等待执行?查询api没有同步方式。但是,您可以对查询API使用Promise 承诺提供了一种替代使用回调函数来 管理异步流。它们允许将异步调用视为 变量,简化错误处理并提供更好的控制 过度处理异步调用的结果 使用查询API的示例代码:- var

我知道正常的做事方式是

db.query(params, callback);
但是我怎么能做这样的事情呢

var data = db.query(params);

如果lambda的其余部分在我得到结果之前无法执行,它是否可以在没有所有回调的情况下等待执行?

查询api没有同步方式。但是,您可以对查询API使用
Promise

承诺提供了一种替代使用回调函数来 管理异步流。它们允许将异步调用视为 变量,简化错误处理并提供更好的控制 过度处理异步调用的结果

使用查询API的示例代码:-

var table = "Movies";

var year_val = 1992;
var title = "Movie with list attribute";

var params = {
    TableName: table,
    KeyConditionExpression: 'yearkey = :hkey and title = :rkey',
    ExpressionAttributeValues: {
        ':hkey': year_val,
        ':rkey': title        
    }
};

var queryObjectPromise = docClient.query(params).promise();

queryObjectPromise.then(function (data) {
    console.log("Query Item succeeded: ", JSON.stringify(data,
        null, 2));
}).catch(function (err) {
    console.log("Unable to read item. Error JSON: ", JSON.stringify(err, null, 2));

});

查询api没有同步方式。但是,您可以对查询API使用
Promise

承诺提供了一种替代使用回调函数来 管理异步流。它们允许将异步调用视为 变量,简化错误处理并提供更好的控制 过度处理异步调用的结果

使用查询API的示例代码:-

var table = "Movies";

var year_val = 1992;
var title = "Movie with list attribute";

var params = {
    TableName: table,
    KeyConditionExpression: 'yearkey = :hkey and title = :rkey',
    ExpressionAttributeValues: {
        ':hkey': year_val,
        ':rkey': title        
    }
};

var queryObjectPromise = docClient.query(params).promise();

queryObjectPromise.then(function (data) {
    console.log("Query Item succeeded: ", JSON.stringify(data,
        null, 2));
}).catch(function (err) {
    console.log("Unable to read item. Error JSON: ", JSON.stringify(err, null, 2));

});

不,使用Node.js编程意味着必须学习如何处理异步代码。不,使用Node.js编程意味着必须学习如何处理异步代码。从我的观点来看,这是一样的,缩进更少。但是我会接受这一点。在NodeV7.6中,您可以在指定的查询方法的预期版本上使用async Wait和Wait(完全不添加缩进),谢谢!好建议。然而,对于大多数用户来说,NodeV6.10.2LTS是推荐的版本。从我的观点来看,它是一样的,缩进更少。但是我会接受这一点。在NodeV7.6中,您可以在指定的查询方法的预期版本上使用async Wait和Wait(完全不添加缩进),谢谢!好建议。但是,对于大多数用户,推荐使用NodeV6.10.2 LTS版本。