gpt4 book ai didi

javascript - 传递 promise 回调方法的更好方法

转载 作者:行者123 更新时间:2023-11-29 19:13:56 25 4
gpt4 key购买 nike

我看到自己经常通过 resolve 和 reject 方法:

function createChangeRequest(contactId) {
return $q(function (resolve, reject) {
parseAPI.runCloud('createChangeRequest', {contactId: contactId}, resolve, reject);
});

}

然后在目标函数中调用它们:

function runCloud(methodName, params, resolve, reject) {
Parse.Cloud.run(methodName, params, {
success: function (response) {
// obtained secret string
console.log(methodName + ' response -> ', response);
resolve(response);
},
error: function (error) {
// error
console.log(methodName + ' error -> ', error);
reject(error);
}
});
}

它解决了我使用不同 promises 语法的需要。我觉得有更好的方法。有吗?

它是否支持高级流程:

function updateItem(itemId, className, json, resolve, reject) {

return getItem(className, itemId).then(function (item) {

return saveItem(item, json);

});
}

最佳答案

您不应手动创建和解决新的 promise 。 Parse.cloud.run已经返回一个 promise 对象,所以你真的应该以更简单的方式组织你的代码。像这样:

function createChangeRequest(contactId) {
return parseAPI.runCloud('createChangeRequest', {contactId: contactId}).then(function(response) {
console.log(response);
})
.catch(function() {
console.log('Error ocurred');
});
}

function runCloud(methodName, params, resolve, reject) {
return Parse.Cloud.run(methodName, params);
}

关于javascript - 传递 promise 回调方法的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36739671/

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