【发布时间】:2018-06-05 19:17:03
【问题描述】:
有没有一种方法可以实现这一点,其中 toys 是一个延迟的 API 请求,运行时返回 res 的值,并且是记录 toysData 时的最终结果。
承诺
const toys = (url) => {
const deferred = $q.defer();
const params = {
id: url,
};
ToysModel.get(params, (data) => {
deferred.resolve(data);
}, (error) => {
deferred.reject(error);
});
return deferred.promise;
};
请求
let toysData = toys(uuid)
.then(res => res);
console.log(toysData);
api调用
export default class ToysModel {
constructor($resource, ENV) {
const url = `${ENV.apiEndpoint}/`;
const actions = {
oembed: {
url: `${ENV.apiEndpoint}/toy/:id`,
method: 'get',
params: {
id: '@id',
},
crossDomain: true,
},
};
return $resource(url, {}, actions);
}
}
【问题讨论】:
-
console.log 进入 .then
标签: javascript angularjs promise deferred