javascript - 如何传递 Promise 执行器数据?

标签 javascript es6-promise

有没有办法在不依赖闭包的情况下将 params 带入 Promise 的主体?我宁愿不必使用 var self = this;

function Service(n) {
    this.n = n;
}
Service.prototype = {
    get: function (params) {
        var self = this;
        return new Promise(function(resolve, reject){
            if (params[self.n]) {
                resolve("Service " + self.n);
            } else {
                reject("Service " + self.n);
            }
        });
    }
}

最佳答案

您实际上可以改为创建立即解决/拒绝的 promise :

Service.prototype = {
    get: function (params) {
        if (params[this.n]) {
            return Promise.resolve("Service " + this.n);
        }

        return Promise.reject("Service " + this.n);
    }
}

引用资料:

关于javascript - 如何传递 Promise 执行器数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34166847/

相关文章:

asp.net - 在javascript中读取cookie

javascript - jquery.mockjax 与需要 shim 的 Webpack 一起使用

javascript - KnockoutJS 数组

javascript - 为什么 await 之后的代码没有立即运行?它不应该是非阻塞的吗?

javascript - React Native 我无法得到 promise 的结果

javascript - 同步 promise 行动

javascript - Jquery 和 PHP : obtaining no result on jquery using ob_get_clean

javascript - 使用 Javascript 中的值删除父级 JSON

typescript - Promise 类型中最终缺少属性

javascript - 修改 NodeJS 中的 Promise 原型(prototype)