Javascript 尝试将Braintree嵌套回调转换为NodeJS异步/等待语法
我正在尝试将此Braintree嵌套回调转换为async/await:Javascript 尝试将Braintree嵌套回调转换为NodeJS异步/等待语法,javascript,node.js,async-await,braintree,Javascript,Node.js,Async Await,Braintree,我正在尝试将此Braintree嵌套回调转换为async/await: var stream = gateway.transaction.search(function (search) { search.customerId().is(braintreeCustomerId); }, function (err, response) { response.each(function (err, transaction) { console.log(trans
var stream = gateway.transaction.search(function (search) {
search.customerId().is(braintreeCustomerId);
}, function (err, response) {
response.each(function (err, transaction) {
console.log(transaction);
});
});
我尝试了这种方法,但得到了未定义的响应输出:
await gateway.transaction.search(async (search) => {
const response = await search.customerId().is(braintreeCustomerId);
console.log(response)
})
我做错了什么?异步
函数通常不应该与不知道承诺的API一起使用,因为这会导致承诺失控,而承诺不会被链接
如果gateway.transaction.search
不支持承诺,则需要承诺:
const search = util.promisify(gateway.transaction.search).bind(gateway.transaction);
const searchResult = await search();
const response = searchResult.customerId().is(braintreeCustomerId);
如果searchResult.customerId().is(braintreeCustomerId)
不返回承诺,则不需要对其进行wait
ed.async
函数通常不应与不知道承诺的API一起使用,因为这会导致承诺失控,而不会被链接
如果gateway.transaction.search
不支持承诺,则需要承诺:
const search = util.promisify(gateway.transaction.search).bind(gateway.transaction);
const searchResult = await search();
const response = searchResult.customerId().is(braintreeCustomerId);
如果searchResult.customerId().is(braintreeCustomerId)
不返回承诺,则不需要wait
ed。承诺只会帮助您完成最终的异步结果回调,而不是谓词
const response = await gateway.transaction.search(function (search) {
search.customerId().is(braintreeCustomerId);
});
response.each(function (err, transaction) {
console.log(transaction);
});
这假设transaction.search
已经支持承诺。如果没有,您会。承诺只会帮助您完成最终的异步结果回调,而不是谓词
const response = await gateway.transaction.search(function (search) {
search.customerId().is(braintreeCustomerId);
});
response.each(function (err, transaction) {
console.log(transaction);
});
这假设transaction.search
已经支持承诺。如果没有,您将。什么是流
?你需要它吗?不,我不需要它-它只是被文档中的示例所使用,它是流
?你需要它吗?不,我不需要它-它只是在文档中的示例中使用的