这个问题在这里已有答案:
我是Stackoverflow的新成员。所以,如果我还不知道如何将代码放入你所做的设计中,我很抱歉:s
我整晚都试图找到一种方法来存入比特币密钥从client.initWallet('***', '***', function(err, wallet)
功能。
你在楼下看到的console.log(address)
工作正常。但是在}
之后,我无法访问数据。我真的不知道该怎么办。如果有人知道为什么我不能保持“address
”的价值......
谢谢你的时间:D
const key = '*key*';
const secret = '*secretkey*';
blocktrail = require('blocktrail-sdk');
client = blocktrail.BlocktrailSDK({
apiKey: key,
apiSecret: secret,
network: 'BTC',
testnet: false
});
client.initWallet('*user*', '*password*',
function(err, wallet) {
wallet.getNewAddress(function (err, address) {
**console.log(address);**
});
});
Bluebird可以将你的回调函数转换为返回Promise的函数,
const bluebird = require('bluebird');
const key = '*key*';
const secret = '*secretkey*';
async function getWallet(){
blocktrail = require('blocktrail-sdk');
client = blocktrail.BlocktrailSDK({
apiKey: key,
apiSecret: secret,
network: 'BTC',
testnet: false
});
var asyncInitWallet = bluebird.promisify(client.initWallet);
var wallet = await asyncInitWallet('*user*', '*password*');
var asyncGetNewAddress = bluebird.promisify(wallet.getNewAddress);
var address = await asyncGetNewAddress();
console.log('address: ', address);
}
getWallet();