Javascript 在nodejs 4.x中,从不同的文件位置重用异步函数的有效方法是什么?
这是一个工作示例代码,它从不同的位置调用异步函数,并通过一些计算重用结果。在这种情况下,我使用了两次“承诺”Javascript 在nodejs 4.x中,从不同的文件位置重用异步函数的有效方法是什么?,javascript,node.js,asynchronous,Javascript,Node.js,Asynchronous,这是一个工作示例代码,它从不同的位置调用异步函数,并通过一些计算重用结果。在这种情况下,我使用了两次“承诺” 第一个承诺:从不同的文件位置获取异步值 第二个承诺:等待得到第一个承诺的结果,以便在main.js文件中重用 使用“回调”或“承诺”执行此操作的有效方法是什么 我的代码: 在/folder1/sub.js function func(){ return new Promise(function(resolve,reject) { var value = 5;
- 第一个承诺:从不同的文件位置获取异步值
- 第二个承诺:等待得到第一个承诺的结果,以便在main.js文件中重用
我的代码: 在
/folder1/sub.js
function func(){
return new Promise(function(resolve,reject) {
var value = 5; // resolve value
setTimeout(function(){
value += 5;
err = false;
if(err) return reject(err);
resolve(value);
},3000);
});
}
module.exports={
getValue: func
}
var sub = require('./folder1/sub');
function nextfunc(){
return new Promise(function(resolve,reject){
sub.getValue().then(function(val){
console.log(val);
// do some calculations
val+=5;
err = false;
if(err) return reject(err);
resolve(val);
});
});
}
var last = nextfunc();
last.then(function(last){
console.log('last -', last);
});
在/main.js
function func(){
return new Promise(function(resolve,reject) {
var value = 5; // resolve value
setTimeout(function(){
value += 5;
err = false;
if(err) return reject(err);
resolve(value);
},3000);
});
}
module.exports={
getValue: func
}
var sub = require('./folder1/sub');
function nextfunc(){
return new Promise(function(resolve,reject){
sub.getValue().then(function(val){
console.log(val);
// do some calculations
val+=5;
err = false;
if(err) return reject(err);
resolve(val);
});
});
}
var last = nextfunc();
last.then(function(last){
console.log('last -', last);
});
试试这样的 功能
module.exports = function func(value){
return new Promise(function(resolve,reject) {
var value = 5; // remove value from here
.....
主要