我有一个foo发出Ajax请求的函数.我怎样才能从中回复foo?
我尝试从success回调中返回值,并将响应分配给函数内部的局部变量并返回该变量,但这些方法都没有实际返回响应.
function foo() {
var result;
$.ajax({
url: '...',
success: function(response) {
result = response;
// return response; // <- I tried that one as well
}
});
return result;
}
var result = foo(); // It always ends up being `undefined`.
Run Code Online (Sandbox Code Playgroud) 我想使用promises,但我有一个回调API,格式如下:
window.onload; // set to callback
...
window.onload = function() {
};
Run Code Online (Sandbox Code Playgroud)
function request(onChangeHandler) {
...
}
request(function() {
// change happened
...
});
Run Code Online (Sandbox Code Playgroud)
function getStuff(dat, callback) {
...
}
getStuff("dataParam", function(err, data) {
...
})
Run Code Online (Sandbox Code Playgroud)
API;
API.one(function(err, data) {
API.two(function(err, data2) {
API.three(function(err, data3) {
...
});
});
});
Run Code Online (Sandbox Code Playgroud)
我试图在一点上理解ECMAScript 2015规范:对象的内部插槽.但这部分对我来说显得很不清楚,特别是这句话:
内部插槽对应于与对象关联并由各种ECMAScript规范算法使用的内部状态.
(它使用正确的语法吗?)有人能用英语解释这个概念吗?
到目前为止我能理解的是:
undefined在Chrome控制台中列出对象的属性时,我偶然发现了以前从未见过的符号.实际上,一些属性被概述了<angle-brackets-properties>和[[double-square-brackets-properties]]符号.任何人都可以了解一下:
javascript ×4
ajax ×1
asynchronous ×1
bluebird ×1
callback ×1
ecmascript-5 ×1
ecmascript-6 ×1
jquery ×1
node.js ×1
object ×1
promise ×1