JS Promise - 返回结果而不是另一个承诺

时间:2018-06-15 16:54:11

标签: javascript

以下内容不起作用...... 我不想返回另一个承诺,我希望脚本缓慢且单线程并返回YES或NO。 这可能吗?

this.getToken = function() {
		if (typeof messaging == 'undefined') return false;
		
		return messaging.getToken().then(function(currentToken) {
			if (currentToken)
				return true;
			else
				return false;
		}).catch(err){
			return false;
		});
	};

1 个答案:

答案 0 :(得分:1)

Promise不返回值。相反,您需要通过在父线程的上下文中设置变量来与父线程通信。例如。

this.getToken = null;

if (typeof messaging == 'undefined') this.getToken = false;

    messaging.getToken().then(function(currentToken) {
        if (currentToken)
            this.getToken = true;
        else
            this.getToken = false;
    }).catch(err){
        this.getToken = false;
    });
};