gpt4 book ai didi

AngularJS 函数返回带有所需参数的 Promise

转载 作者:行者123 更新时间:2023-12-02 09:28:38 25 4
gpt4 key购买 nike

简单的问题。我已经构建了这个功能:

// Gets the kit by id or slug
var _getKit = function (id) {

// Try to get our kit using our shared service
return sharedKitService.get(id).then(function (response) {

// Assign the response to our service
service.models.kit = response;

// Return our response
return response;
})
};

我想向该函数添加一个检查,如下所示:

// Gets the kit by id or slug
var _getKit = function (id) {

// If we have no id, exit the function
if (!id)
return;

// Try to get our kit using our shared service
return sharedKitService.get(id).then(function (response) {

// Assign the response to our service
service.models.kit = response;

// Return our response
return response;
})
};

但我知道这行不通,因为如果没有 id 那么该函数将不再产生 promise 。我知道我可以做这样的事情:

// Gets the kit by id or slug
var _getKit = function (id) {

// If we have no id
if (!id) {

// Defer our promise
var deferred = $q.derfer();

// Reject our promise
deferred.reject();

// Return our promise
return deferred.promise;
}

// Try to get our kit using our shared service
return sharedKitService.get(id).then(function (response) {

// Assign the response to our service
service.models.kit = response;

// Return our response
return response;
})
};

但这似乎有点矫枉过正。有没有更简单的方法来做到这一点?

最佳答案

来自Angular docs :

只需返回$q.reject(reason)。这将返回 Promise,该 Promise 会立即被拒绝

关于AngularJS 函数返回带有所需参数的 Promise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35460711/

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