等待函数执行后再继续
Wait for function to execute before continuing
我是promise的新手,但在继续之前,我正在尝试执行一个函数(返回一个数字)
var whatNumber = function(){
var defer = $q.defer();
myNumber.get().then(defer.resolve);
return defer.promise;
}
我也试过:
var whatNumber = function(){
var defer = $q.defer();
defer.resolve( myNumber.get());
return defer.promise;
}
最后,我尝试了一下,但没有承诺:
var whatNumber = function(){
myNumber.get().then(function(result) {
return result;
});
}
有人知道我做错了什么吗?
您应该了解deffered反模式。在您的情况下,您可以从函数中只使用return myNumber.get();
var whatNumber = function(){
return myNumber.get();
}
或者,如果您需要从结果中返回特定属性:
var whatNumber = function(){
return myNumber.get().then(function(result) {
return result.data;
});
}
如果你想使用反模式方法(应该避免),那么你需要解析promise并传递参数:
var whatNumber = function(){
var defer = $q.defer();
myNumber.get().then(function(result) {
defer.resolve(result);
});
return defer.promise;
}
whatNumber().then(function(result) {
console.log(result);
});
你很接近,只是我看到你的决心没有正确。你需要解决你计划使用(数据)的价值
var whatNumber = function(){
var defer = $q.defer();
myNumber.get().then(function(response){
defer.resolve(response.data)
});
return defer.promise;
}
相关文章:
- 等待函数执行后再继续
- 如何让foreach循环等待$http.get完成后再继续
- 如何使我的javascript在页面加载后继续执行
- php,如果我点击按钮程序重新加载页面,并且从不继续执行代码
- Javascript渲染.如何编写Javascript;t在函数调用结束之前继续执行代码
- Javascript:在css动画之后继续执行
- 为什么javascript ES6 Promises在解析后继续执行
- 如何在Node.js中等待函数完成后再继续
- 浏览器在“打开”之后继续执行Javascript;PageUnload”&新的“;PageLoad”;
- 等待AJAX响应后再继续
- 停止 C# 在下拉列表 javascript 验证失败时继续执行服务器端脚本
- 代码只执行一次,但应该继续执行
- 等待 AJAX,然后再继续执行单独的函数
- 使用生成器等待输入,然后再继续 forEach 循环的主体
- 如何使用 JQuery 添加延迟?(让它等待 5 秒再继续)
- 等待多个 ipc 调用完成,然后再继续电子/冗余
- 在 Mac 上的 Firebug 中继续执行脚本的快捷方式是什么?
- 如何为性能执行多个异步函数(非嵌套),但等待它们完成再继续
- 等待函数完成后再继续执行$中的下一个循环.每个函数
- 等到回调结束后再继续在Angular中执行