Javascript,promise.then()函数首先执行
我为忽略了一些基本的东西而提前道歉,但我无法理解以下问题 我想在服务器上创建一个用户,随后显示所有用户(包括新用户)。为了简化事情,我在“then”子句中添加了一个警告。问题是 警报在服务器上的“CreateUser”完成之前出现。根据文件,“然后”在承诺完成时执行。 为什么在我的电脑上是相反的Javascript,promise.then()函数首先执行,javascript,promise,Javascript,Promise,我为忽略了一些基本的东西而提前道歉,但我无法理解以下问题 我想在服务器上创建一个用户,随后显示所有用户(包括新用户)。为了简化事情,我在“then”子句中添加了一个警告。问题是 警报在服务器上的“CreateUser”完成之前出现。根据文件,“然后”在承诺完成时执行。 为什么在我的电脑上是相反的 function createUser(newUser) { userService.create(newUser) // Post creating new user .
function createUser(newUser) {
userService.create(newUser) // Post creating new user
.then(
alert('Why do I come up before completion of the userService.create() function ?')
);
}
这是userService.create()函数:
function create(user) {
// alert(user);
const requestOptions = {
method: 'POST',
headers: { ...authHeader(), 'Content-Type': 'application/json' },
body: user
};
return fetch('/Client/Create', requestOptions).then(handleResponse, handleError);
}
HandlerResponse:
function handleResponse(response) {
return new Promise((resolve, reject) => {
....
手柄错误:
function handleError(error) {
return Promise.reject(error && error.message);
}
非常感谢。改变
function createUser(newUser) {
userService.create(newUser) // Post creating new user
.then(
alert('Why do I come up before completion of the userService.create() function ?')
);
}
致:
改变
function createUser(newUser) {
userService.create(newUser) // Post creating new user
.then(
alert('Why do I come up before completion of the userService.create() function ?')
);
}
致:
那么
需要传递一个函数,所以请执行以下操作:
userService.create(newUser).then(() => {
alert('Why do I come up before completion of the userService.create() function ?')
});
则
需要传递函数,因此请执行以下操作:
userService.create(newUser).then(() => {
alert('Why do I come up before completion of the userService.create() function ?')
});
如果您直接调用alert,则需要在then方法中放置一个调用alert的functin
。然后(()=>{alert('…')})
@DanielKrom就是这样!非常感谢你。EC6语法,甚至比使用函数更优雅。你直接调用alert,你需要在then方法中放入一个调用alert的functin。然后(()=>{alert(“…”)})
@DanielKrom就是这样!非常感谢你。EC6语法,甚至比使用函数更优雅。你是个英雄。我在胡说八道,你是个英雄。我在拔头发。