利用异步 NPM 模块
Utilizing Async NPM Module
所以...我最近遇到了这个节点模块:异步。我只需要一点"展示和讲述"或最佳实践方法,以应对我在下面遇到的情况。下面你可以看到我的函数GetBearerToken
它接受一个参数{bearer_token:token}
没有问题。
我的问题是变量ss
.我想在这个函数之外使用它,并将其传递给另一个函数来做某事。当然,当我尝试访问ss
时,它是未定义的。我已经尝试了一些使这项工作的方法,如文档中所示,但我显然错过了一些东西。所以任何帮助都会很棒...谢谢
GetBearerToken({
bearer_token: token
}, function(error, result) {
if (error) throw error;
if (result) {
var resultset
var i;
for (i = 0; i < result.length; i++) {
resultset = (simpleObjectify(result[i].meta, result[i].rows))
}
var jstring = JSON.stringify(resultset);
var obj = JSON.parse(jstring);
var ss = obj[0].uuid;
console.log(ss)
})
功能ss
之外是undefined
。
首先阅读此内容
JavaScript 中变量的作用域是什么?
您可以尝试使用.waterfall
方法
瀑布(任务,[回调])
以系列形式运行函数的任务数组,每个函数都传递其 结果到数组中的下一个。但是,如果任何任务通过 错误到自己的回调,下一个函数没有执行,并且 主回调立即被调用并出现错误。
您要完成的一个例子
async.waterfall([
function(callback) {
GetBearerToken({
bearer_token: token
}, function(error, result) {
if (error) throw error;
if (result) { // *note* don't forget to handle the result properly if an error occurs or the result is not what you expected.
var resultset
var i;
for (i = 0; i < result.length; i++) {
resultset = (simpleObjectify(result[i].meta, result[i].rows))
}
var jstring = JSON.stringify(resultset);
var obj = JSON.parse(jstring);
var ss = obj[0].uuid;
callback(null, ss); // call the next callback in waterfall with ss value
}
)
},
function(arg1, callback) {
// arg1 now equals ss value
callback(null,'all completed');
}
],
function(err, result) {
// result now equals 'all completed'
});
但是由于上面的代码似乎已经朝着错误的方向迈出了一步,当它来调试。但是看一下.waterfall
的例子,它分解了回调,然后调用了.waterfall
方法。
相关文章:
- 尽管链接成功并已成功下载,但未找到NPM模块
- 在Meteor项目中安装并包含npm模块后出错
- 限制npm依赖模块's require(隔离)的用法
- 在Meteor Angular 1.3中使用npm模块
- Webpack通过npm将代码拆分为单独的模块,以及如何编译es6
- 有没有人能够得到这个要求或调试NPM模块在浏览器中工作
- 如何访问npm模块抛出的自定义错误对象[error:[object object]]
- NPM:取决于本地 ES6 模块(无转译)
- 利用异步 NPM 模块
- 异步加载 NPM 模块
- 将迁移的Silverlight到HTML应用程序划分为NPM模块
- 如何让我的ember.js应用程序导入从bower或npm安装的模块
- 将MQTT NPM模块导入NativeScript
- 别名带有浏览器化填充码的 npm 模块
- NPM:将多个模块和自定义脚本与browserfy相结合
- "npm运行构建“;模块解析错误”;您可能需要一个适当的加载程序来处理此文件类型&”;
- 如何使用NPM模块
- Npm.require可以'找不到节点模块
- 全局安装的NodeJS npm模块不执行节点的主/bin JavaScript文件
- npm->错误:找不到模块'可读流'