请问我这样获取异步处理结果为什么不可取?
发布于 6 年前 作者 Daxong 2219 次浏览 来自 问答
let watchOfUpper = 0
//按理说应该当upper有了值之后立即返回
primary_junior_high_classify.prototype.getUpper = function () {
    while (upper == undefined && upper == null ) {
        if (watchOfUpper == 0) {
            console.log( "客官您的数据已经下锅了,请稍后(~ ̄▽ ̄)~")
            watchOfUpper = 1
        }
    }
    return upper
}
下面是调用该方法部分,计算upper值的是一个异步方法
let temp = require("./app").primary_junior_high_classify
let aa = new temp()
console.log(aa.getTags())
2 回复

代码看的很懵, 没看出你想表达的意思 如果你是想在while循环里检查一个异步结果是否完成, 完成就结束循环的话, 这肯定是不可行的, 因为js是单线程的, 你的while循环已经占满了线程, 异步结果是永远完不成的

@yinxin630 谢谢 我已经意识到了

回到顶部