如何使以下可链接方法起作用?
即promise
方法应该将从get
返回的数据包装到promise中。
// I need to do both:
// return object directly
return client.get(args);
// return promise
return client.get(args).promise();
为什么?有一个使用此签名的库,我需要对其进行模拟以进行测试。
client.get = function(args) {
let obj = {foo: 'bar'}; // get data from somewhere
obj.promise = function() {
return new Promise((resolve, reject) => {
console.log(this); // {foo: 'bar'}
resolve(this);
// TODO: reject logic
});
};
return obj;
};
答案 0 :(得分:2)
您似乎正在寻找
client.get = function(args) {
let obj = {foo: 'bar'}; // get data from somewhere
obj.promse = function() {
return Promise.resolve(this);
};
return obj;
};