在我的案例中如何将参数传递给函数
How to pass parameter into a function in my case
我正在尝试为我的应用建立承诺。我有类似的东西
var test = function(id,companyID) {
return getProduct(id)
.then(getProductName(companyID))
.then(function(obj) {
console.log(obj)
})
}
test('123', '456');
我只能看到一个包含空上下文的对象。但是,如果我将代码更改为不包含 getProductName
函数中的参数和硬编码,例如
var test = function(id,companyID) {
return getProduct(id)
.then(getProductName)
.then(function(obj) {
console.log(obj)
})
}
test('123', '456');
我在 console.log
中得到了我需要的数据
我不确定如何将参数传递到链中。知道怎么做吗?非常感谢!
你尝试了吗
var test = function(id,companyID) {
return getProduct(id)
.then(function(){
getProductName(companyID)
.then(function(obj) {
console.log(obj);
});
})
}
你有没有尝试过这样的事情:
var test = function(id, companyID){
return getProduct(id)
.then(function(data){
getproductName(companyID)
.then(function(data){
console.log(obj);
});
});
};
当您不使用 getProductName(companyID)
时,它会失败,因为 companyID 未定义,因此您需要在 failHandler 中使用:
var test = function(id,companyID) {
return getProduct(id)
.then(getProductName)
.then(function(obj) {//doneHandler
console.log(obj)
},function(obj){//failHandler
console.log(obj);//now this gets logged
})
}
test('123', '456');
如果您 return 来自处理程序的承诺,那么 return 从匹配 .then()
中编辑的承诺会适应该承诺,从而允许您这样做:
var test = function(id,companyID) {
return getProduct(id)
.then(function(){
return getProductName(companyID)
})
.then(function(productName) {
console.log(productName);
});
}
我正在尝试为我的应用建立承诺。我有类似的东西
var test = function(id,companyID) {
return getProduct(id)
.then(getProductName(companyID))
.then(function(obj) {
console.log(obj)
})
}
test('123', '456');
我只能看到一个包含空上下文的对象。但是,如果我将代码更改为不包含 getProductName
函数中的参数和硬编码,例如
var test = function(id,companyID) {
return getProduct(id)
.then(getProductName)
.then(function(obj) {
console.log(obj)
})
}
test('123', '456');
我在 console.log
中得到了我需要的数据我不确定如何将参数传递到链中。知道怎么做吗?非常感谢!
你尝试了吗
var test = function(id,companyID) {
return getProduct(id)
.then(function(){
getProductName(companyID)
.then(function(obj) {
console.log(obj);
});
})
}
你有没有尝试过这样的事情:
var test = function(id, companyID){
return getProduct(id)
.then(function(data){
getproductName(companyID)
.then(function(data){
console.log(obj);
});
});
};
当您不使用 getProductName(companyID)
时,它会失败,因为 companyID 未定义,因此您需要在 failHandler 中使用:
var test = function(id,companyID) {
return getProduct(id)
.then(getProductName)
.then(function(obj) {//doneHandler
console.log(obj)
},function(obj){//failHandler
console.log(obj);//now this gets logged
})
}
test('123', '456');
如果您 return 来自处理程序的承诺,那么 return 从匹配 .then()
中编辑的承诺会适应该承诺,从而允许您这样做:
var test = function(id,companyID) {
return getProduct(id)
.then(function(){
return getProductName(companyID)
})
.then(function(productName) {
console.log(productName);
});
}