gpt4 book ai didi

javascript - 等待内部的等待不会给出正确的输出

转载 作者:行者123 更新时间:2023-11-28 12:54:46 25 4
gpt4 key购买 nike

下面是我的代码,我想检查 token 是否存在。如果是,那么我将检查钱包所有者是否是代币所有者。现在的问题是它没有检查第二个函数“contract.methods.ownerOf(tokenId).call(function (err, res)”,因此最终结果不是正确的结果。

async function doesTokenIdExist(tokenId, contract, walletAddress) {
var tokenExists = false;
await contract.methods.exists(tokenId).call(async function (err, res) {
if (res) {
await contract.methods.ownerOf(tokenId).call(function (err, res) {
if (!err) {
tokenAddress = res.toLowerCase();
walletAddress = walletAddress.toLowerCase();

if (tokenAddress.localeCompare(walletAddress) == 0){
tokenExists = true;
} else {
tokenExists = false;
}
} else {
tokenExists = false;
}
});
} else {
tokenExists = false;
}
});

return tokenExists;
}

最佳答案

改变这个,

await contract.methods.exists(tokenId).call(function (err, res) {

对此,

await contract.methods.exists(tokenId).call(async function (err, res) {

关于javascript - 等待内部的等待不会给出正确的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56822745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com