要使函式延遲返回值,拿到值的方式和傳統的=附值是不一樣的。
var q = require(‘q’);
function getSomeData (resolveOrNot) {
var def = q。defer(); // resolve value 123 after 1。5s
setTimeout(function() {
if (resolveOrNot) {
def。resolve(123);
} else {
def。reject(null);
}
}, 1500);
retur def。promise;
}
var resolveIt = true; // or false ——> will fall into 。catch
var theData;
getSomeData(resolveIt)
。then(function(data){
theData = data;
})
。catch(function(error)) {
theData = error;
});
希望上面的回答對你有所幫助,如果還是不懂或者有問題,可以關注今日頭條“小熊社長”頭條號,私信我。希望能夠對樓主有所幫助。