我正在調用一個函數來執行Stripe API請求,但是當我返回一個bool時,什麼都不會發生。該函數被調用,但是if語句內部沒有被調用,而是else語句被調用。返回聲明不適用於條紋
if(performStripeAction() == true) {
console.log("action performed"); //does not get printed
} else {
console.log("error transferring"); //prints error transferring
}
function performStripeAction() {
var psaret;
console.log("about to start transfer");
stripe.transfers.create(
{
amount: 10000,
currency: 'usd',
destination: act_xxxxx
}, function(err, transfer){
if(!err){
console.log("no error"); //prints no error
psaret = true;
}else{
console.log("error");
psaret = false;
}
console.log("the bool is " + psaret); //prints true
return psaret;
});
}
它看起來像整個整個函數需要return語句。 'function(error,transfer)'中的return語句爲該函數返回,而不是執行'performStripeAction()' – joethemow